This course introduces the students Jakarta Struts 1.1. During the course, students will learn to design and develop Struts based applications. Students learn how to incorporate JSPs, servlets, EJBs and JavaBeans into their design. Corresponding to every chapter, there is a lab reinforcing the concept.
Java Training Audience
This course is intended for programmers and designers who want to design and develop applications using the Jakarta Struts Model-View-Controller (MVC) framework.
Java Training Prerequisites
A good understanding of HTML.
A good understanding of object-oriented programming using Java.
Experience with JSPs and servlets with some understanding of JavaBeans or EJBs.
Java Training Learning Objectives
After completing this course, the student should be able to:
Understand and explain the Jakarta Struts framework
Design and build Struts based applications
Java Training Course duration
3 Days
Java Training Topics
Struts Architecture and Overview
A Simple Struts Application
Struts Development Cycle
Struts Tag Libraries
Struts Extensions, Internationalization, Error Handling and Logging
Miscellaneous Advanced Features such as Validators and DynaActionForm
Database Programming
Templates and Tiles
Unit Testing Struts Applications - StrutsTestCase
JSTL
Java Training Course outline
Struts Architecture and Overview
Objectives
Review: MVC Model
Review: Request, Session and Application
What is Struts?
Struts Flow
Components in Struts
The Model
The View
The Controller
Struts Flow
struts-config.xml
struts-config.xml Content
The data-sources element in the struts-config.xml
The form-beans element in the struts-config.xml
The global-forwards element in the struts-config.xml
The action-mappings element in the struts-config.xml
Sample struts-config.xml
The Role of web.xml for the Application
Configuring Struts in the web.xml
web.xml Content
Steps to Configuring Struts in the web.xml
Step 1. Configuring the Action Servlet Instance in the web.xml
Action Servlet Config Example
Step 2. Configuring the Action Servlet Mapping in web.xml
Prefix Mapping Example
Extension Mapping Example
Step 3. Configuring the Struts Tag Libraries in the web.xml
Sample web.xml
Summary
The First Struts Application
Objectives
The application
The Structure
Setup Needed
Directory Structure
index.jsp
index.jsp - continued
The index.jsp Page
struts-config.xml
MultiplyForm.java
MultiplyForm.java - continued
MultiplyAction.java
MultiplyAction.java - continued
result.jsp
The result page
ApplicationResources.properties
Summary
Development of Struts Applications Using WSAD v5.1
Objectives
Directory Structure of a Struts Application
Directory Structure of a Struts Application an Example
WSAD Struts Support
Create a Struts Web Application project
View the Struts Project Structure
Create a Struts JSP
Insert Struts Tags
Creating a Struts Form Bean
Creating a Struts Form Bean Cont
Create a Struts Action
Create a Struts Action Cont
Edit a Struts Configuration File
Summary
Struts Development Cycle
Objectives
Struts Development Cycle
Gathering Requirements
Defining Screen Requirements
Detailed screen design
Struts view components Data vs. ActionForm Bean
Defining Screen Requirements define FormBean
Developing the FormBean
Developing the FormBean The reset( ) Method
Developing the FormBean The validate( ) Method
Developing the FormBean ActionErrors
Developing the FormBean Defining the Message Key
Determining the Screen Flow
Defining the ActionMappings in the struts-config.xml
Developing the Action Class action and Action Class
Developing the Action Class
Developing Actions The execute() Method
Developing Actions ActionForward
Developing Actions ActionMapping class
Developing Actions execute() example
execute() Method Example:
Developing Business Logic EJBs
Developing JSPs
Configuringstruts-config.xml and web.xml
Build, Pack, and Deploy
Summary
Custom JSP Tag Libraries
Objectives
JSP taglib Directive
Components of a Tag library
The JSP File
The Tag Library Descriptor
The Tag Handler Class
An Example
The TLD File carPrice.tld
TLD File Example
The Handler Class CarPriceHandler.java
The Handler Class Example
The JSP File Carprice.jsp
Tag Lib Handler Lifecycle
Directory Structure: where Custom Tag Libraries Fit
Struts TagLib
Bean Tags
bean:define
bean:message
bean:page
bean:include
bean:cookie
HTML Tags
html:form
html:submit
html:text
html:link
html:password
Logic Tags
Logic Tags functionality
logic:equal
logic:iterate
Template Tags
Example of Template Tags
Summary
Struts Extensions, Internationalization and Error Handling
Objectives
Struts Extensions
Extension Points
Plug-ins
A plug-in example
Custom Configuration Class
Writing a Configuration Class
Custom Struts Servlet
Custom Request Processor
Base Action Class
Base Form Beans
Custom JSP Tags
Disadvantages of Using Extensions
Internationalization (I18N)
I18N - continued
Error Handling
The ActionError class
The ActionErrors class
Error Handling : validate() method of ActionForm
Displaying the errors found in the validate method
Error Handling : execute() method of Action
Error Handling : execute() method of Action - contd
Declarative Exception Handling
Syntax of declarative exception handling
Programmatic Exception Handling
Logging from Struts
Logging (cont.)
Using Commons Logging and Log4J in Struts
Writing Commons Logging Code
Miscellaneous Advanced Features
Advanced Features Discussed in This Chapter
Integration of Jakarta Common Libraries - BeanUtils
Integration of Jakarta Common Libraries - Digester
Multiple Application Support
DynaActionForms
Validators
Adding the Validator framework to a Struts application
A tale of three files
A sample rule in the file validator-rules.xml
A rule in validator-rules.xml (continued)
validator.xml file
Validator Dependency
Rule Variables
Error Message
Error Message (cont.)
Basic Validation Rules
Client Side Validation
Validating multiplication example using DynaActionForm
Writing Custom Validators
Validator Class Example
HTTP Redirection
Working With Check Boxes
Context Sensitive Form Validation
Database Programming
Basic Concepts
MVC Interaction
Database Connection
Transaction Management
Data Source
Defining a Struts Data Source
Opening a Connection from a Struts Data Source
Creating an Editor Form
Example Form Display Action
Templates and Tiles
Objectives
Struts Templates
Defining the Template
A template
Using the template in a JSP
template:insert
template:put
A JSP that uses the template
Struts Templates
Templates as UI components
Struts 1.1 Tiles Support
Tiles
Tiles example
A JSP that uses the layout
Tiles go beyond templates
Inheritance in tiles definitions
Definitions as Struts forwards
Template or Tiles?
Unit Testing Struts Applications
Objectives
Unit Testing Struts Applications
What is JUnit?
Why JUnit?
A JUnit Test
Running the tests
JUnit Basics
A simple Struts test case
The testcase
Downloading STC
Running STC inside WSAD
Running STC inside WSAD
Executing the test
Testing Strategies
JSTL
JSP Expression Language (EL)
Basic Usage
Built-in Objects
Working With Arrays and Maps
Operators
Full Example
The future of Struts Tags
JSP Standard Template Library (JSTL)
Run Time Version
Basic Tags
Condition Tags
Interator Tags
Internationalization (I18N)
Setting Preferred Locale
Specifying Resource Bundle
Display Translated Text
Display Number
Display Date
JDBC Tags
Specify Data Source
Performing a Query
Display Result
Pagination Example
XML Tags
Contact Information
WINTRAC INC. - the one stop shopping center for IT training.
16523 S.W. McGwire Ct. Beaverton OR -97007
Phone: (503) 259-0312
Fax: 707-598-2268
Email: sales@wintrac.com