In this chapter, we discussed how to render dynamic content, using the various template engines available with SpringWebFlux. We integrated Java-based template engines, Freemarker, and Thymeleaf. We also looked at how to enable a scripting-based engine, and how to work with Mustache.js. Next, we looked at serving static content by using SpringWebFlux. In the end, we discussed using WebClient to make asynchronous, non-blocking HTTP requests. We are now generating events and processing them. In the next chapter we will discuss ways to perform flow-control and backpressure.