This chapter covered how to develop, configure, package, and deploy servlets. We also covered how to process HTML form information by accessing the HTTP request object. Additionally, forwarding HTTP requests from one servlet to another was covered, as well as redirecting the HTTP response to a different server.
We discussed how to persist objects in memory across requests by attaching them to the servlet context and the HTTP session. We also covered additional features of the servlet API, including configuring web applications via annotations, pluggability through web-fragment.xml, programmatic servlet configuration, and asynchronous processing. Finally, we covered the new Servlet 4.0 API that supports HTTP/2 server push.