(703) 246-9100 Northern Virginia

(804) 285-5830 Central Virginia

(757) 420-3810 Tidewater Area

(800) 294-7497 Toll Free

(804) 285-3722 Fax



Duration: 5 days  (includes lecture and labs)

Course Description:

This course covers all the skills necessary for effective Java web application development. It emphasizes portable code practices following J2EE standards, which will function correctly on any standards-compliant Java web application server. Participants will develop a complete web application, including client-side form validation with JavaScript, form processing with servlets and JSP and database integration with JDBC. This course is an accelerated combination of Servlet, JSP and JDBC courses.

You can learn to

       Perform HTML form processing with Java servlets

       Create dynamic page content with Java Server Pages

       Define custom JSP tags for rapid web development

       Create and integrate JDBC-enabled business objects

       Perform client-side form validation with JavaScript (extended-day version)

Who Should to Attend:

This course is designed for programmers who want to develop web applications with servlets, JSP, JavaScript and JDBC. Prior experience with the core features of the Java language is required. We recommend that all attendees be fluent in HTML and have a prior knowledge of object-oriented or object-based programming, as well as some knowledge of SQL and relational databases.


Prior experience, or taking courses similar to those below prior to this course

       Introduction to Java Programming course, or have equivalent knowledge, including syntax for basic constructs, tools for writing, compiling and running code, and basic understanding of how the JVM works

Before taking this course, students should be able to:

       Write Java applications, demonstrating significant programming ability

       Integrate existing Java code (for example, reuse existing classes created by other team members)

       Design Java applications

       Write a web page using HTML

Course Content:

1. Web Architecture

       Client/Server Architecture and on the Web

       Networking and TCP/IP

       Network Protocol Stacks

       The TCP/IP Network Stack, Addresses and DNS

       Domain Names, Application Protocols

       TCP/IP Ports

       The Web Server

       Uniform Resource Locators, URL Mapping and Relative URLs

       Virtual Directory Structure

       HTTP Protocol


       The Application Server

       Dynamic Page Generation

       CGI and SAPI

       Servlets and Server-side Scripting

       Java Web Architecture

2. Application Server

       Major Servlet Engines

       Apache Tomcat

       Installing the Server

       Directory Structure

       Server Configuration

       Compilation Batch File

       Abbreviated API Documentation

       Classes in the Abbreviated API

       Differences from the Normal API

       Catalog Business Objects

       Item, Order, and Line Item Objects

       General Methods

       Loading and Saving Objects

3. Servlet Fundamentals

       Servlets in the J2EE Framework

       The Servlet Engine

       Advantages of Servlets and How Servlets Work

       A Simple Servlet

       Generic and HTTP Servlets

       Servlet Class Hierarchy

       The HttpServlet Class

       Life-cycle Methods

       HttpServlet Life-cycle

       Servlets and Threads

       doGet() and doPost() Parameters and Exceptions

       Utility Methods

       What to (Not) Put in Servlets

       The Servlet Development Process

4. Servlet Requests

       HttpServletRequest Methods

       Data Transmission on the Web

       HTML Forms

       URL Encoding

       HTTP Messages Sent

       Retrieving Parameters in Servlets

       Information about Client & Server

       Headers and Browser Detection

5. Servlet Responses

       HttpServletResponse Methods

       Response Output Streams

       Responding With Text and Binary Data

       Pre-populating Form Data


       Flush Output, "Better" Performance

       Servlet Redirection

       Server-side Redirection (Dispatch)

       Forwarding Data in the Requests

       Client vs. Server-side Redirects

6. Servlet Sessions

       HTTP Is a Stateless Protocol

       Basic Data Passing Techniques

       Example: Lists of Accounts


       The Session Object

       Objects (Attributes) in Sessions

       Issues with Using Sessions

       URL Rewriting

       Contrasting Data Techniques

7. J2EE Web Applications

       Web Application Structure

       Context Path

       Non-Java Files in Web Apps

       Servlet Contexts, Tags, Mapping

       General Application Information

       Session Config and Taglib

       Servlet Engine Configuration

       Security Constraints

       Login and Security Roles

       External Resource Mappings

       Lookup for JNDI Resources and Init Parameters

       Deploying Web Applications

8. JSP Fundamentals

       Server-Side Scripting

       Java Server Pages and their role, JSP Deployment, Life-cycle, Class Hierarchy, Scripting Elements

       Implicit Objects, Text , Scriplets and Expressions, Combining Scripting Elements, Declarations, Comments, Page and Include Directives

9. JSP Action Tags and Beans

       Action Tags

       Include and Forward Action Tags

       Forwarding From Servlet to JSP, and Data to JSPs

       Servlet for Process, JSP for Display

       JavaBean Components

       Use-Bean Action Tag

       Bean Scopes

       SetProperty and GetProperty Tags

       Sets Using Request or Expressions

       JSPs without Java

10. JSP Standard Tag Library (JSTL)

       Scripting vs. Tags in JSP

       Custom Tag Libraries

       Origins, Status, and Structure of JSTL

       JSTL Expression Language (EL)

11. Custom JSP Tag Libraries

       Custom Tag Libraries and Bean Creation Process

       Tag Library Descriptors, Tag Definitions in the TLD, Tag Handler Class , Tag and TagSupport

       PageContext Methods

       LoadItemTag Life Cycle Methods

       Tag Attributes, Life-Cycle, Tag Libraries in JARs, and Deploying Tag Libraries

       Translation for LoadItemTag

12. JDBC Fundamentals

       Relational Databases and Client/Server

       Tables, Foreign Key Relationships, Structured Query Language, SQL for Creating Tables

       Database Access for Applications

       JDBC Architecture and Class Hierarchy

       Driver Types, Loading Drivers

       Connections to the Database

       Utility Class: Connection Factory

       connect() and close()

       Executing SQL Commands

       Processing ResultSets

       Importance of Try/Catch/Finally

13. JDBC Advanced Features

       Statement Types

       Prepared Statements, Setting Statement Parameters, Advantages of Prepared Statements, Callable Statements

       Java Types and Database Types

       Java and SQL Dates

       Working with SQL NULL

       JDBC-Based Business Objects, Business Object Properties, Using Business Objects

       Item's Methods

14. Enterprise JDBC

       Connection Pooling

       Data Sources


       JDBC Transactions

       Primary Key Generation


       loadIdFromDB() Outline

       Object to Relational Mapping

15. Web Application Security

       Security Issues



       IPsec and Virtual Private Networks


       Security Constraints on Access


       User Roles for Resource Access

       User Information Storage

       Security Information in Serlvets

16. Integrated Web Design

       Model-View-Controller (MVC)

       Servlets as Event Handlers

       Servlets as Remote Procedure Calls

       Linking Components Together

       Proper Uses of Redirection

       Templates for Components

       Refresh Tag in Chained JSP

       User Data and loadBean Tag

       JSP Templates: Includes

       Business Object Templates

       Number of Servlets and JSPs

       Concurrent Development

       Frameworks and Libraries

17. JavaScript for Java Programmers

       Client-Side Scripting

       Characteristics of JavaScript

       JavaScript Versions

       Embedding JavaScript in HTML

       JavaScript Code Structure, Variables and Scope , and Types

       Type Conversion

       Operators and Control Structures, JavaScript Arrays and Functions, Objects

       Methods and "this" Keyword

       Object Constructors

       Strings and Dates

       Debugging Javascript

18. JavaScript in the Browser

       Browser Object Hierarchy

       Window Object

       Location, History and Navigator

       Document Object

       Targeting Page Elements

       Links, Images, Applets


       Text Elements

       Checkbox and Radio

       Select Lists

       Getting the Selected Value

       Event-Driven JavaScript

       Browser Objects Event Handlers

       Form Event Handlers


19. JavaScript Form Validation

       Role of HTML Form Validation

       Issues with JavaScript Validation

       FormValidation.js Library

       Field and Predefined Data Types

       Formatting and Parsing Methods

       The formData Object

       Object Wrapper for Form Data

       Custom Validations

       Form-Level compute Methods

       Additional Library Features

Unique Training Solutions for Unique Clients - Expanding skills today to meet the challenges of tomorrow