Servlets are important in that they tie Java to the Web, allowing programmers to write Java programs that create dynamic Web content. This book covers everything Java developers need to know to write effective servlets. It explains the servlet lifecycle, showing how to use servlets to maintain state information. It also describes how to serve dynamic Web content, including both HTML pages and multimedia data, and explores more advanced topics like integrated session tracking, efficient database connectivity using JDBC, applet-servlet communicaton, interservlet communication, and internationalization. Readers can use the book's numerous real-world examples as the basis for their own servlets. The second edition has been completely updated to cover the new features of Version 2.2 of the Java Servlet API. It introduces chapters on servlet security and advanced communication, and also introduces several popular tools for easier integration of servlet technology with dynamic Web pages including JavaServer Pages (JSP), Tea, XMLC, and the Element Construction Set.
Jason Hunter is Senior Technologist with CollabNet, a company that provides tools and services for open source style collaboration. In addition to authoring Java Servlet Programming, he is publisher of Servlets.com, creator of the com.oreilly.servlet library, a contributor to the Apache Jakarta project that creates Tomcat (starting on the project when it was still Sun internal), a member of the expert groups responsible for Servlet/JSP and JAXP API development, and he holds a seat on the JCP Executive Committee overseeing the Java platform, as a representative of the Apache Software Foundation. He also writes columns for JavaWorld, and speaks at many programming and open source conferences. Most recently he co-created the open source JDOM library to enable optimized Java and XML integration, and he leads the expert group responsible for JDOM development. William Crawford currently heads the product development team at Invantage, Inc., a Cambridge, MA, company developing Java-based intranet tools for the pharmaceutical industry.
1. Introduction History of Web Applications Support for Servlets The Power of Servlets. 2. HTTP Servlet Basics HTTP Basics The Servlet API Page Generation Web Applications Moving On. 3. The Servlet Lifecycle The Servlet Alternative Servlet Reloading Init and Destroy Single-Thread Model Background Processing Load on Startup Client-Side Caching Server-Side Caching. 4. Retrieving Information The Servlet The Server The Client. 5. Sending HTML Information The Structure of a Response Sending a Normal Response Using Persistent Connections Response Buffering Status Codes HTTP Headers When Things Go Wrong Six Ways to Skin a Servlet Cat. 6. Sending Multimedia Content WAP and WML Images Compressed Content Server Push. 7. Session Tracking User Authentication Hidden Form Fields URL Rewriting Persistent Cookies The Session Tracking API. 8. Security HTTP Authentication Form-Based Authentication Custom Authentication Digital Certificates Secure Sockets Layer (SSL). 9. Database Connectivity Relational Databases The JDBC API Reusing Database Objects Transactions A Guestbook Servlet Advanced JDBC Techniques Beyond the Core. 10. Applet-Servlet Communication Communication Options Daytime Server Chat Server. 11. Servlet Collaboration Sharing Information Sharing Control. 12. Enterprise Servlets and J2EE Distributing Load Integrating with J2EE. 13. Internationalization Western European Languages Conforming to Local Customs Non-Western European Languages Multiple Languages Dynamic Language Negotiation HTML Forms. 14. The Tea Framework The Tea Language Getting Started Request Information Tea Administration Tea Applications A Tool Application Final Words. 15. WebMacro The WebMacro Framework Installing WebMacro WebMacro Directives WebMacro Templates A Tool Application Filters. 16. Element Construction Set Page Components as Objects Displaying a Result Set. 17. XMLC A Simple XML Compile The Manipulation Class A Tool Application. 18. JavaServer Pages Using JavaServer Pages Behind the Scenes Expressions and Declarations Directives JSP and JavaBeans Includes and Forwards A Tool Application Custom Tag Libraries. 19. Odds and Ends Parsing Parameters Sending Email Using Regular Expressions Executing Programs Using Native Methods Acting as an RMI Client Debugging Performance Tuning. 20. What's New in the Servlet 2.3 API Changes in the Servlet API 2.3 Conclusion. A. Servlet API Quick Reference. B. HTTP Servlet API Quick Reference. C. Deployment Descriptor DTD Reference. D. HTTP Status Codes. E. Character Entities. F. Charsets. Index