Java™ Servlet and JSP™ Programming

Summary
This intensive, hands-on course provides an introduction to Web application development using Java Servlets and Java Server Pages (JSP). Students will learn how to create powerful server-side programs that benefit from the Java enterprise environment.

Prerequisites
A sound knowledge of Java is essential. Those unfamiliar with Java should take an introductory Java course first, such as Java 2 Programming Language. Some knowledge of HTML would be beneficial.

Course Objectives
On completion of this course, the student should be able to
  • Design a multi-tier Java Web application
  • Develop Java Servlet Web applications
  • Design forms to post requests to Java based Web applications
  • Implement Web applications with JSP technology

Intended Audience
Java programmers or architects who plan to develop distributed, multi-tier Java Web applications. This course is particularly targeted to those developers writing Web server applications that utilize Java enterprise technologies.

Length
3 Days

Format
Instructor-led course, with practical computer-based exercises.

Course Outline
Multi-Tier Object-based Architectures
  • Introduction to Objects in Distributed Systems
    • Objects, Responsibilities, and Relationships
    • Remote Object Interaction
    • Proxy Pattern
    • Proxies and Remote Objects
    • Components
  • Multi-Tier Architectures
    • Distributed Software Systems
    • Tier Components
    • Web-based Tiers
    • A Four-Tier Architecture
    • Enterprise Development Architectures
    • Microsoft DNA
    • CORBA Architecture
    • Sun J2EE Architecture
    • J2EE Technologies
Introduction to J2EE
  • J2EE Architecture and Java-based Application Servers
    • The Enterprise Portal Myth
    • Java 2 Enterprise Edition (J2EE)
    • Java Application Servers
    • Connecting to Legacy Data
  • HTTP Technologies
    • The HTTP Protocol
    • Programming Access to URLs
    • HTTP HEAD, GET, and POST Requests
    • HTTP Responses
    • HTTP Status Codes
Introduction to Java Servlets
  • Introduction to Servlets
    • What is a Servlet?
    • J2EE Web Containers and Web Applications
    • Servlet Architecture
  • Servlet Architecture
    • javax.servlet.Servlet Interface
    • Event Log
    • ServletConfig Interface
    • ServletRequest Class
    • ServletResponse
    • HttpServlet Class
    • HttpServletRequest
    • HttpServletResponse
    • Sales Tax Calculator Example
Advanced Servlet Development Issues
  • Considerations for Servlet Construction
    • Error Handling
    • Threading
    • Life Cycle Issues
  • Sessions and Servlet/Servlet Interactions
    • Session Tracking
    • URL Rewriting
    • Cookies
    • HttpSession Object
    • Session Life cCycle Demonstration
    • Shopping Cart Servlet Example
    • ServletContext Interface
    • NutShop: Setting the Inventory in the Context
    • Additional ServletContext Methods
    • RequestDispatcher
    • Dynamic Content Generation
Introduction to JavaServer Pages
  • Introduction to JavaServer Pages
    • Architecture
    • Generating and Compiling the Servlet
    • JSP Page Life Cycle
    • JSP Tags
    • Core JSP Tags: Declaration
    • Core JSP Tags: Scriptlets
    • Core JSP Tags: Expressions
  • Sophisticated Features
    • Implicit Objects
    • Adding Comments to JSP Pages
    • Using JavaBeans
    • Setting and Getting Bean Properties
    • The Include Directive
    • The Forward Tag
    • The JSP page Directive
    • The taglib Directive
    • The plugin Tag
    • Forms Processing in JSP
JSP Custom Tags
  • Custom Tags
    • Key Concepts
    • Why Use Tag Extensions?
    • JSP Anatomy: Tag Handlers
    • Body Content
  • More Custom Tags
    • Scripting Variables
    • Body Tag Iteration
    • Custom Tag Design Principles

Hardware and Software Requirements
A PC with JDK™ (Java Development Kit) Standard Edition and Enterprise Edition, version 1.2 or later. Integrated development environment preferable. Tomcat 3.1.1 or later.