Java Servlets

Java Servlets


Course code: 
Time Unit: 

This practical, application-oriented course teaches Java Servlets technology and shows how to use it to develop simple to complex web applications. It is intended for experienced Java (J2SE) programmers who want to build web applications or J2EE components and systems.

The course begins with an overview of server-side Java programming and web protocols. Then students learn the Java Servlets architecture, the request/response cycle, and servlet life cycle, and how to build interactive web applications that parse and/or generate HTML forms. Several prominent patterns for servlet application architecture are considered. Sessions are studied as a means to developing sophisticated client/server conversations over several HTML pages. Multi-tier applications are developed using servlets and JDBC for access to relational databases.

The course develops the important concept of the separation of programmatic and declarative development: use of configuration and context information in lieu of hard-coded values, resource locations, etc., to make the web application as portable and easy to administer as possible. The course introduces JavaBeans as a standard for business and data objects that can be shared among servlets and JSPs, and develops techniques for sharing such objects at session scope or by request forwarding. Finally, students learn how to implement filters to adapt existing servlets by pre- and post-processing the request and response.

Learning Objectives

Understand and appreciate the role of Java Servlets in the overall Java 2 Enterprise Edition architecture, and as the best Java solution to HTTP application development
Use request and response objects provided to a servlet to read CGI parameters and to produce an HTML response
Develop interactive web applications using HTML forms and servlets
Manage complex conversations with HTTP clients using session attributes
Understand the role of JDBC in Java persistence code, and use JDBC for persistence in servlet applications
Preserve portability and ease of administration for a servlet application by parameterizing servlet code, using initialization parameters, properties files, and JNDI
Use JavaBeans classes to share complex business data between components
Implement filters to adapt existing servlets with new features, and to maximize the decomposition of logic between vertical business functions and horizontal facilities



Chapter 1. Web Applications

Server-Side Programming
Web Protocols and Web Applications
Role of Web Servers
Java Servlets
Using Tomcat Web server
Structure of a Java Servlet

Chapter 2. Servlets Architecture

Servlets Architecture
Servlet and HttpServlet
Request and Response
Reading Request Parameters
Producing an HTML Response
Redirecting the Web Server
Deployment Descriptors
Servlets Life Cycle
Relationship to the Container

Chapter 3. Interactive Web Applications

Building an HTML Interface
HTML Forms
Handling Form Input
Application Architecture
Single-Servlet Model
Multiple-Servlet Model
Routing Servlet Model
Template Parsers

Chapter 4. Session Management

Managing Client State
Session Implementations
Session Attributes
Session Events
Invalidating Sessions

Chapter 5. Database Access

JDBC Drivers
Using JDBC in a Servlet
Data Access Objects
Threading Issues
Connection Pooling

Chapter 6. Configuration and Context

The Need for Configuration
Initialization Parameters
Properties Files
JNDI and the Component Environment
JDBC Data Sources
Working with XML Data

Chapter 7. Filters

Servlet Filters
Uses for Filters
Building a Filter
Filter Configuration and Context
Filter Chains
Deploying Filters

Appendix A. Learning Resources



Java programming experience is required; Course JVN001 - Java Programming Language, is excellent preparation.
Exposure to HTML and web page design are beneficial but not necessary.



Java developers.