Part I, JSP Application Basics
Explains how JSP fits into the big picture of web applications and how it compares to alternative technologies.
Describes the fundamental HTTP and servlet concepts you need to know to use JSP to its full potential.
An overview of the JSP features, as well as the similarities and differences between JSP pages and servlets. Also introduces the Model-View-Controller design model and how it applies to JSP.
Describes where to get the JSP reference implementat
ion (Apache Tomcat) and how to set it up on your system. Also explains how to install the book examples.
Part II, JSP Application Development
Examines the JSP basics, such as how to create, deploy, and run a JSP page, as well as how to use the JSP elements to generate dynamic content.
Describes what a JavaBeans component is and how it can be used effectively in a JSP page.
Describes what a custom tag library is and how to deploy and use one, and introduces the JSP Standard Tag Library (JSTL).
Explains how an HTML form can be used to send data to a web application and how to process the data using JavaBeans and JSTL, as well as what to be aware of when generating dynamic output.
Describes the kinds of errors you may encounter during development of a JSP-based application, and strategies and JSP features that help you deal with them.
Explains the JSP features that let you separate different types of processing in different pages to simplify maintenance and further development. Also describes how sessions can build up information over a sequence of requests from the same user, and how information that applies to all users can be shared using the application scope.
Describes how you can develop actions for a custom tag library as tag files, i.e., regular text files with JSP elements.
Provides a quick overview of relational databases, JDBC, and SQL basics, and introduces the JSTL actions for reading, updating, and deleting database data.
Describes how authentication and access control can be implemented using container-provided and application-controlled mechanisms, and how to use the information about who the current user is to personalize the web pages.
Explains internationalization and localization, the Java features available to implement an internationalized application, and describes the set of JSTL actions that support development of multilingual web sites.
Explains how JSP can generate XML content as well as process XML input using the JSTL XML actions.
Describes the JSP elements that let you embed Java code directly in your JSP pages and the type of errors you must be prepared to deal with when you use this feature.
Covers various areas not discussed in previous chapters, such as using the JSP page XML syntax, combining JSP with client-side code, reusing JSP file segments by including them in JSP pages, precompiling JSP pages, and more.
Part III, JSP in J2EE and JSP Component Development
Provides an overview of J2EE and web application architectures using JSP in combination with other Java technologies.
Describes in detail how JSP can be combined with servlets, as well as the listener and filter component types, using the popular Apache Struts framework.
Provides details about JavaBeans components as they relate to JSP, including threading and synchronization concerns for session and application scope beans, as well as how using JavaBeans components can make it easier to migrate to an EJB architecture.
Describes the JSP Tag Extension mechanism and how to use it to develop custom tag libraries, using many of the custom actions used in the previous chapters as examples.
Explains the more advanced features that can be leveraged by custom actions, such as developing cooperating actions, syntax and usage validation, attribute value type conversions, and more.
Describes all the integration hooks provided by the JSTL specification and how to develop custom actions, servlets, listeners, and filters that take advantage of them.
Provides a brief introduction to JDBC and explains the various strategies available for efficient use of databases in a web application, such as setting up a connection pool and making it available to the application components through the servlet context or JNDI, encapsulating database access code in separate classes or in custom actions, and more.
Part IV, Appendixes
Contains descriptions of all standard JSP 2.0 elements.
Contains descriptions of all standard JSTL 1.1 elements, programming interfaces, and support classes.
Contains a description of the JSP EL syntax and rules.
Contains descriptions of all implicit objects available in a JSP page as defined by the servlet and JSP APIs, as well as the tag extension mechanism classes and interfaces.
Contains a description of the custom actions, beans, and utility classes used in the examples.
Appendix F, Web Application Structure and Deployment Descriptor Reference