Course Catalog
Curriculum Guides
  .NET
  Java/J2EE
  XML
Downloads
Buy Courseware
Customization
News
Authors
Technical Library
FAQ
About Object Innovations
Opportunities
Contact Us
Home

 

 

   
www.objectinnovations.com
info@objectinnovations.com
877-558-7246 (toll free)  
781-466-8012  

109.  JavaServer Pages

Rev. 2.0.1

 

This course is now available directly from our partner, Capstone Courseware.

This four-day course develops skills in JavaServer Pages, or JSP, which is the standard means of authoring dynamic content for Web applications under the Java Enterprise platform.  It treats JSP 2.0, including older features such as scriptlets but focusing on newer features and techniques, including JSP expressions and the JSTL.  At the end of the course, students will be well prepared to author JSPs for small- or large-scale Web applications, either “by hand” (they use only a text editor in class) or using an authoring tool.

 

The first module begins with an introduction of Web applications in general, shows how Java servlets and JSPs establish a framework for writing Web applications, and then covers JSP 2.0 features in detail, from scripting elements to use of dedicated JavaBeans to JSP expressions, and quick introductions of JSTL and custom tag development. 

 

By the end of the module students will be able to create their own JSP applications, including interactive applications using HTML forms and pages that perform fairly complex processing using scripts and or actions.  Although scripting is covered, the scriptless authoring style encouraged by the JSP 2.0 specification is emphasized, and students will be well equipped to develop concise and effective JSP applications.

 

The second module covers the JSTL, or JSP Standard Tag Library, actually a set of four custom tag libraries that establish a portable standard for common processing tasks in JSP.  JSTL is a major part of the new scriptless authoring style encouraged (and enabled) by the JSP 2.0 specification.  This module covers all four JSTL libraries in depth:

·         The core actions, which support JSP expressions for JSP 1.x containers, flow control for procedural processing in JSPs, and resource access.

·         The formatting and internationalization/localization actions, which standardize formatted numeric and date/time output as well as multi-language support.

·         The SQL actions, which dramatically simplify access to relational data from a JSP.

·         The XML actions, which give JSPs a simple, powerful framework by which to parse, address and transform XML data using XPath and XSLT.

 

Each individual tag in each library is covered, with precise syntactic rules shown in a standard format in the student guide, and JSTL techniques and best practices are discussed for each library.  An extensive set of example applications illustrates common usage of each major group of actions, and the module culminates with a wrap-up workshop that brings core, SQL, and XML techniques to bear in a single application.

 

LEARNING OBJECTIVES

 

·         Explain the fundamentals of HTML and HTTP in the World Wide Web.

·         Describe JavaServer Pages and their relationship to servlets and J2EE generally.

·         Describe how a JSP is translated into a servlet and processed at runtime.

·         Explain the use of directives on JSPs and outline the principal directives.

·         Implement simple JSPs that use Java code in declarations, expressions and scriptlets.

·         Enumerate and use the implicit objects available to scripting elements.

·         Implement an interactive Web application using HTML forms and JSP.

·         Use Java exception handling and JSP error pages to handle errors in JSP applications.

·         Implement session management for a JSP application.

·         Manage cookies to store client-specific information at various scopes and durations.

·         Use JavaBeans to implement effective interactive JSP applications.

·         Describe custom tags in JSP and explain how they are implemented, both using Java and JSP itself, and how they are used.

·         Discuss threading issues in JSP and describe the use of directives to control how threading is handled.

·         Describe the various uses of XML in JSP applications.

·         Deploy a logical Web application to a Web server in a WAR file.

·         Describe the use of the JSP expression language to simplify dynamic page output.

·         Write JSP expressions and implement JSPs that use them in favor of scripts.

·         Implement JSPs that use basic JSTL actions to simplify presentation logic.

·         Decompose a JSP application design into fine-grained, reusable elements including JavaBeans, custom tag handlers and tag files that use JSTL.

·         Use core JSTL actions to complement standard actions, custom actions, and JSP expressions for seamless, script-free page logic.

·         Direct conditional and iterative processing of page content by looping through ranges of numbers, over elements in a collection, or over tokens in a master string.

·         Set locale and time zone information in JSPs, and use them to correctly format numbers, dates and times for all clients.

·         Use resource bundles to manage application strings, and produce the appropriate strings at runtime for a particular client locale.

·         Locate a data source, query for relational data, and parse result sets.

·         Perform updates, inserts and deletes on relational data using SQL actions.

·         Manage queries and updates in transaction contexts.

·         Derive information from parsed XML content using XPath expressions.

·         Implement conditional processing and loops based on XML information.

·         Apply XSLT transformations to XML content.

·         Implement a simple Web service that reads and writes SOAP.

 

Duration:  4 days.

 

Prerequisites:  No formal prerequisites;  knowledge of HTML and background in Web applications, and/or Java programming experience, are helpful but not necessary.

 

Module 1.  Introduction to JavaServer Pages

 

1.      Web Applications

The World Wide Web

HTML

Web Servers

HTTP

Dynamic Web Pages

CGI

Java Web Technologies

Servlets

JSP

 

2.      JSP Architecture

JSP Containers

Servlet Architecture

Page Translation

Types of JSP Content

Directives

Content Type

Buffering

Scripting Elements

JSP Expressions

Standard Actions

Custom Actions and JSTL

Objects and Scopes

Implicit Objects

JSP Lifecycle

 

3.      Scripting Elements

Translation of Template Content

Scriptlets

Expressions

Declarations

Dos and Don’ts

Implicit Objects for Scriptlets

The request Object

The response Object

The out Object

 

4.      Interactive JSP Applications

HTML Forms

Reading CGI Parameters

JSPs and Java Classes

Error Handling

Session Management

The Session API

Cookies and JSP

 

5.      Using JavaBeans

Separating Presentation and Business Logic

JSP Actions

JavaBeans

Working with Properties

<jsp:useBean>

<jsp:getProperty> and <jsp:setProperty>

Using Form Parameters with Beans

Objects and Scopes

Working with Vectors

 

6.      The Expression Language and the JSTL

Going Scriptless

The JSP Expression Language

EL Syntax

Type Coercion

Error Handling

Implicit Objects for EL

The JSP Standard Tag Library

Role of JSTL

The Core Actions

Using Beans with JSTL

The Formatting Actions

Scripts vs. EL/JSTL

 

7.      Advanced JSP Features

Web Components

Forwarding

Inclusion

Passing Parameters

Custom Tag Libraries

Tag Library Architecture

Implementing in Java or JSP

Threads

Strategies for Thread Safety

XML and JSP

JSP for Web Services

 

 

Module 2.  The JSP Standard Tag Library

 

1.      Effective JSTL

The JSP Standard Tag Library

JSTL Namespaces

Going Scriptless

Object Instantiation

Sharing Objects

Decomposition

Parameterization

 

2.      The Core Actions

The JSTL Core Library

<c:out>

<c:set>

Gotchas

Conditional Processing

Iterative Processing

Iterating Over Maps

Tokenizing Strings

Catching Exceptions

Resource Access

 

3.      The Formatting and i18n Actions

The JSTL Formatting Library

Locales

Determining Locale

Time Zones

Setting Locale and Time Zone

Formatting and Parsing Dates

Formatting and Parsing Numbers

Internationalization

Working with Resource Bundles

Supporting Multiple Languages

 

4.      The SQL Actions

The JSTL SQL Library

Using Relational Data

Connecting with a DriverManager

Connecting via a DataSource

The Result Interface

Making a Query

Inserts, Updates and Deletes

Parameterized SQL

Transactions

 

5.      The XML Actions

The JSTL XML Library

Using XML

XML Data Sources

Parsing and Addressing

Using XPath in JSTL

XPath vs. EL

XPath Context

Implicit Objects for XPath

Conditional Processing

Iterative Processing

Changing XPath Context

Working with XML Namespaces

Using XSLT

Chaining Transformations

Reading XML from the Request Body

XML and SOAP Web Services

 

 

Learning Resources

 

 

System Requirements

 

This module can be presented on Windows or Linux systems.  Tools required are all free downloadables available for either platform:  the J2SE SDK, the Tomcat 5 Web server, the MySQL RDBMS and a MySQL JDBC driver.  Hardware requirements are modest: a good minimal system for this module would have a Pentium 500MHz or equivalent CPU, 256 meg of RAM and at least 500 megabytes of free disk space for tools installation and lab software.