| |
| |
Preface | |
| |
| |
| |
JSP Application Basics | |
| |
| |
| |
Introducing JavaServer Pages | |
| |
| |
What Is JavaServer Pages? | |
| |
| |
Why Use JSP? | |
| |
| |
What You Need to Get Started | |
| |
| |
| |
HTTP and Servlet Basics | |
| |
| |
The HTTP Request/Response Model | |
| |
| |
Servlets | |
| |
| |
| |
JSP Overview | |
| |
| |
The Problem with Servlets | |
| |
| |
The Anatomy of a JSP Page | |
| |
| |
JSP Processing | |
| |
| |
JSP Application Design with MVC | |
| |
| |
| |
Setting Up the JSP Environment | |
| |
| |
Installing the Java Software Development Kit | |
| |
| |
Installing the Tomcat Server | |
| |
| |
Testing Tomcat | |
| |
| |
Installing the Book Examples | |
| |
| |
Example Web Application Overview | |
| |
| |
| |
JSP Application Development | |
| |
| |
| |
Generating Dynamic Content | |
| |
| |
Creating a JSP Page | |
| |
| |
Installing a JSP Page | |
| |
| |
Running a JSP Page | |
| |
| |
Using JSP Directive Elements | |
| |
| |
Using Template Text | |
| |
| |
Using JSP Action Elements | |
| |
| |
| |
Using JavaBeans Components in JSP Pages | |
| |
| |
What Is a Bean? | |
| |
| |
Declaring a Bean in a JSP Page | |
| |
| |
Reading Bean Properties | |
| |
| |
Setting Bean Properties | |
| |
| |
| |
Using Custom Tag Libraries and the JSP Standard Tag Library | |
| |
| |
What Is a Custom Tag Library? | |
| |
| |
Installing a Custom Tag Library | |
| |
| |
Declaring a Custom Tag Library | |
| |
| |
Using Actions from a Tag Library | |
| |
| |
| |
Processing Input and Output | |
| |
| |
Reading Request Parameter Values | |
| |
| |
Validating User Input | |
| |
| |
Formatting HTML Output | |
| |
| |
| |
Error Handling and Debugging | |
| |
| |
Dealing with Syntax Errors | |
| |
| |
Debugging a JSP Application | |
| |
| |
Dealing with Runtime Errors | |
| |
| |
| |
Sharing Data Between JSP Pages, Requests, and Users | |
| |
| |
Passing Control and Data Between Pages | |
| |
| |
Sharing Session and Application Data | |
| |
| |
Online Shopping | |
| |
| |
Memory Usage Considerations | |
| |
| |
| |
Developing Custom Tag Libraries as Tag Files | |
| |
| |
Creating and Using a Tag File | |
| |
| |
Accessing Attribute Values | |
| |
| |
Processing the Action Body | |
| |
| |
Processing Fragment Attributes | |
| |
| |
Exposing Data to the Calling Page Through Variables | |
| |
| |
Aborting the Page Processing | |
| |
| |
Packaging Tag Files for Easy Reuse | |
| |
| |
| |
Accessing a Database | |
| |
| |
Accessing a Database from a JSP Page | |
| |
| |
Validating Complex Input Without a Bean | |
| |
| |
Using Transactions | |
| |
| |
Application-Specific Database Actions | |
| |
| |
| |
Authentication and Personalization | |
| |
| |
Container-Provided Authentication | |
| |
| |
Application-Controlled Authentication | |
| |
| |
Other Security Concerns | |
| |
| |
| |
Internationalization | |
| |
| |
How Java Supports Internationalization and Localization | |
| |
| |
Generating Localized Output | |
| |
| |
A Brief History of Bits | |
| |
| |
Handling Localized Input | |
| |
| |
| |
Working with XML Data | |
| |
| |
Generating an XML Response | |
| |
| |
Transforming XML into HTML | |
| |
| |
Transforming XML into a Device-Dependent Format | |
| |
| |
Processing XML Data | |
| |
| |
| |
Using Scripting Elements | |
| |
| |
Using page Directive Scripting Attributes | |
| |
| |
Implicit JSP Scripting Objects | |
| |
| |
Using Scriptlets | |
| |
| |
Using Expressions | |
| |
| |
Using Declarations | |
| |
| |
Mixing Action Elements and Scripting Elements | |
| |
| |
Dealing with Scripting Syntax Errors | |
| |
| |
| |
Bits and Pieces | |
| |
| |
Buffering | |
| |
| |
Including Page Segments | |
| |
| |
Global Configuration Options | |
| |
| |
Mixing Client-Side and Server-Side Code | |
| |
| |
Precompiling JSP Pages | |
| |
| |
Preventing Caching of JSP Pages | |
| |
| |
Writing JSP Pages as XML Documents | |
| |
| |
How URIs Are Interpreted | |
| |
| |
| |
JSP in J2EE and JSP Component Development | |
| |
| |
| |
Web Application Models | |
| |
| |
The Java 2 Enterprise Edition Model | |
| |
| |
The MVC Design Model | |
| |
| |
Scalability | |
| |
| |
| |
Combining JSP and Servlets | |
| |
| |
Servlets, Filters, and Listeners | |
| |
| |
Picking the Right Component Type for Each Task | |
| |
| |
Initializing Shared Resources Using a Listener | |
| |
| |
Access Control Using a Filter | |
| |
| |
Centralized Request Processing Using a Servlet | |
| |
| |
Using a Common JSP Error Page | |
| |
| |
| |
Developing JavaBeans Components for JSP | |
| |
| |
Beans as JSP Components | |
| |
| |
JSP Bean Examples | |
| |
| |
Unexpected [left angle bracket]jsp:setProperty[right angle bracket] Behavior | |
| |
| |
| |
Developing Custom Tag Libraries Using Java | |
| |
| |
Developing Simple Tag Handlers | |
| |
| |
Developing Classic Tag Handlers | |
| |
| |
Developing Tag Library Functions | |
| |
| |
Creating the Tag Library Descriptor | |
| |
| |
Packaging and Installing a Tag Library | |
| |
| |
| |
Advanced Custom Tag Library Features | |
| |
| |
Developing Cooperating Actions | |
| |
| |
Validating Syntax | |
| |
| |
Using a Listener in a Tag Library | |
| |
| |
Dynamic Attribute Values and Types | |
| |
| |
| |
Integrating Custom Code with JSTL | |
| |
| |
Setting and Using Configuration Variables | |
| |
| |
Integrating Custom Conditional Actions | |
| |
| |
Integrating Custom Iteration Actions | |
| |
| |
Integrating Custom 118N Actions | |
| |
| |
Integrating Custom Database Actions | |
| |
| |
Using JSTL Tag Library Validators | |
| |
| |
| |
Database Access Strategies | |
| |
| |
JDBC Basics | |
| |
| |
Using Connections and Connection Pools | |
| |
| |
Making a Connection Pool Available to Application Components | |
| |
| |
Using a Generic Database Bean | |
| |
| |
Developing Application-Specific Database Components | |
| |
| |
| |
Appendixes | |
| |
| |
| |
JSP Elements Reference | |
| |
| |
| |
JSTL Actions and API Reference | |
| |
| |
| |
JSP Expression Language Reference | |
| |
| |
| |
JSP API Reference | |
| |
| |
| |
Book Example Custom Actions and API Reference | |
| |
| |
| |
Web Application Structure and Deployment Descriptor Reference | |
| |
| |
Index | |