1. Overview and Setup - Understanding the role of servlets
- Evaluating servlets vs. other technologies
- Understanding the role of JSP
- Configuring the server
- Configuring your development environment
- Testing the server setup
| 2. Servlet Basics - The basic structure of servlets
- A simple servlet that generates plain text
- A servlet that generates HTML
- Servlets and packages
- Some utilities that help build HTML
- The servlet life cycle
- Servlet debugging strategies
|
3. Handling the Client Request: Form Data - The role of form data
- Creating and submitting HTML forms
- Reading individual request parameters
- Reading the entire set of request parameters
- Handling missing and malformed data
- Dealing with incomplete form submissions
- Filtering special characters out of the request parameters
| 4. Handling the Client Request: HTTP Request Headers - Reading HTTP request headers
- Building a table of all the request headers
- Understanding the various request headers
- Reducing download times by compressing pages
- Differentiating among types of browsers
|
5. Generating the Server Response: HTTP Status Codes - Format of the HTTP response
- How to set status codes
- What the status codes are good for
- Shortcut methods for redirection and error pages
- A servlet that redirects users to browser-specific pages
- A front end to various search engines
| 6. Generating the Server Response: HTTP Response Headers - Format of the HTTP response
- Setting response headers
- Understanding what response headers are good for
- Building Excel spread sheets
- Generating JPEG images dynamically
- Sending incremental updates to the browser
|
7. Handling Cookies - Understanding the benefits and drawbacks of cookies
- Sending outgoing cookies
- Receiving incoming cookies
- Tracking repeat visitors
- Specifying cookie attributes
- Differentiating between session cookies and persistent cookies
- Simplifying cookie usage with utility classes
- Modifying cookie values
- Remembering user preferences
| 8. Session Tracking - Implementing session tracking from scratch
- Using basic session tracking
- Understanding the session-tracking API
- Differentiating between server and browser sessions
- Encoding URLs
- Storing immutable objects vs. storing mutable objects
- Tracking user access counts
- Accumulating user purchases
- Implementing a shopping cart
- Building an online store
|
9. JSP Intro and Overview - Understanding the need for JSP
- Evaluating the benefits of JSP
- Comparing JSP to other technologies
- Avoiding JSP misconceptions
- Understanding the JSP lifecycle
- Installing JSP pages
- Looking at JSP in the real world
| 10. Invoking Java Code with JSP Scripting Elements - Static vs. dynamic text
- Dynamic code and good JSP design
- JSP expressions
- Servlets vs. JSP pages for similar tasks
- JSP scriptlets
- JSP declarations
- Predefined variables
- Comparison of expressions, scriptlets, and declarations
|
11. Controlling the Structure of Generated Servlets: The JSP page Directive - Understanding the purpose of the page directive
- Designating which classes are imported
- Specifying the MIME type of the page
- Generating Excel spreadsheets
- Participating in sessions
- Setting the size and behavior of the output buffer
- Designating pages to handle JSP errors
- Controlling threading behavior
| 12. Including Files and Applets in JSP Pages - Using jsp:include to include pages at request time
- Using <%@ include ... %> (the include directive) to include files at page translation time
- Understanding why jsp:include is usually better than the include directive
- Using jsp:plugin to include applets for the Java Plug-in
|
13. Using JavaBeans Components in JSP Documents - Understanding the benefits of beans
- Creating beans
- Installing bean classes on your server
- Accessing bean properties
- Explicitly setting bean properties
- Automatically setting bean properties from request parameters
- Sharing beans among multiple servlets and JSP pages
| 14. Integrating Servlets and JSP: The Model View Controller (MVC) Architecture - Understanding the benefits of MVC
- Using RequestDispatcher to implement MVC
- Forwarding requests from servlets to JSP pages
- Handling relative URLs
- Choosing among different display options
- Comparing data-sharing strategies
|
15. Simplifying Access to Java Code: The JSP 2.0 Expression Language
- Motivating use of the expression language
- Understanding the basic syntax
- Understanding the relationship of the expression language to the MVC architecture
- Referencing scoped variables
- Accessing bean properties, array elements, List elements, and Map entries
- Using expression language operators
- Evaluating expressions conditionally
|
16. Using and Deploying Web Applications
- Purpose of Web applications
- Structure of Web applications
- Setting up Web applications with Tomcat
- Giving custom addresses to servlets
- Sharing data among Web applications
|
17. Controlling Web Application Behavior with web.xml
- Location and purpose of web.xml
- Custom URLs
- Initialization parameters
- Preloading pages
- Welcome pages
- Error pages
|
18. Servlet and JSP Filters - Filter basics
- Accessing the servlet context
- Using initialization parameters
- Blocking responses
- Modifying responses
|
19. Web Application Lifecyle Listeners - Reason for listeners
- Monitoring creation and destruction of the servlet context
- Detecting changes in servlet context attributes
- Recognizing session creation and destruction
- Watching for changes in session attributes
- Combining activities
|
10. Creating Custom JSP Tag Libraries: The Basics - Java-based tags
- Components of a tag library
- Basic tags
- Tags that use body content
- Tags that optionally use body content
- JSP-based tags (tag files)
- Components of a tag library
- Basic tags
- Tags that use attributes
- Tags that use body content
|
21. Custom JSP Tag Libraries: Advanced Topics - Tags with dynamic attribute values
- Tags with complex objects for attributes
- Manipulating the tag body
- Looping tags
- Nested tags
- Using SAX and TagLibraryValidator to validate tag library syntax
|
22. "Classic" (JSP 1.2-Style) Tags - Components of a tag library
- Basic tags
- Tags that use body content
- Tags that optionally use body content
|
23. The JSP Standard Tag Library (JSTL) - Obtaining JSTL documentation and code
- The JSTL Expression Language
- Looping Tags
- Conditional Evaluation Tags
- Database Access Tags
- Other Tags
|
24. SCWCD Design Patterns - Intercepting Filter
- Model-View-Controller
- Front Controller
- Service Locator
- Business Delegate
- Transfer Object
|