Java Struts Developer

This course will teach students how to use Java Struts as a framework to develop web applications that follow the Model/View/Controller design pattern. The topics cover the components of Struts that are available from the Jakarta project of the Apache Foundation. The course illustrates what the components provide and use of them.

This advanced course shows JSP and servlet programmers how to build web applications using the Apache Struts framework. Students learn the Struts architecture and see how it captures a great deal of pre-existing best practice: in model/view/controller action mappings, form beans and custom tags for working with HTML forms, input validation, and the Tiles view-building framework. Two chapters near the end of the course cover configuration techniques and other advanced topics.

Duration : 40 Hrs | 21 Days | 3 - 4 Weeks

Program Contents

Struts Overview
  • What is Struts?
  • Model 1 Design Pattern
  • Model 2 / MVC Design Pattern
  • Implementing MVC with a Framework
  • The Struts Framework
  • Basic Struts Components
  • Struts Documentation
  • A Struts-Based Application: Logon
Struts in a Simple Web Application
  • Stars Information Application
  • List Stars Flow
  • Display Star Flow
  • ActionServlet: the Controller
  • struts-config.xml
  • ActionForm: Form State
  • The execute Method of StarsListAction
  • The execute Method of StarsDisplayAction
  • Directing Processing Flow with an ActionForward
  • Building a View with Tags
  • Review: Flow through a Typical Struts-Based Application
The Controller
  • ActionServlet as a Controller
  • RequestProcessor
  • Developer Responsibilities
  • Mapping
  • Forwards
  • Lifecycle of an ActionForm
  • ActionForm Considerations
  • The reset Method
  • The validate Method
Action and the Business Model
  • The execute Method of Action
  • execute() Method Considerations
  • Handling an Error
  • Threading Considerations
  • Some Best Practices for Action
  • More Best Practices for Action
Action Mappings
  • Command Pattern for Web Applications
  • ActionServlet
  • Action and Action Mappings
  • Struts Configuration
  • Selecting a Forward
  • Global Forwards
  • Declarative Exception Handling
  • Global Exception Handlers
  • Working with HTML Forms
  • Action Forms, a/k/a Form Beans
  • Relationship to Input
  • Relationship to Actions
  • Relationship to the Model
  • Relationship to Output
  • DynaActionForm and Map-Backed Forms
  • Validation
  • Coarse-Grained Form Beans
The View
  • Forwarding to a View
  • Overview of Struts Tags
  • Struts HTML Tags
  • Form-Related Tags
  • Dealing with URLs
  • Using Error Tags
  • Displaying Messages
  • Struts Bean Tags
  • Struts Logic Tags
  • Some Struts View Best Practices
  • I18N and L10N
  • Resource Bundles
  • Java's MessageFormat Class
  • Internationalization in Struts
  • I18N with Struts Tags
  • I18N with JSTL tags
  • I18N within Java Code
Advanced Struts Features
  • Accessing Bean Properties
  • DynaActionForm: A Configurable Form
  • Indexed and Mapped Properties in a Form
  • Using indexed='true'
  • Preventing Duplicate Form Submits
  • Using ForwardAction and IncludeAction
  • DispatchAction
  • LookupDispatchAction
  • Implementing a LookupDispatchAction
Struts Tag Libraries
  • Building View Components
  • Struts Tag Libraries
  • Attributes and Struts Expressions
  • Building Forms
  • Forms
  • Forms and Form Beans
  • Scope and Duration of Form Data
  • Managing Hyperlinks
  • Error Messages
  • Logic Tags
The JSP Standard Tag Library
  • JSTL Overview
  • JSP Expression Language
  • Core Tags
  • Formatting Tags
  • SQL Tags
  • XML Tags
  • Mixing JSTL, EL, Scripts and Actions
  • Indexed Properties and Struts HTML Forms
Advanced Configuration
  • Struts Configuration in Depth
  • Wildcards
  • Extensions
  • The Configuration Object Model
  • Subclasses
  • Plug-Ins
  • Integrating Other Frameworks
  • Role-Based Security
  • Chaining Actions
  • The ComposableRequestProcessor Class
  • Configuring Command Chains
  • Modules
Under the Hood
  • Global Objects
  • Specialized Struts Actions
  • The Utility Package
  • The Commons BeanUtils Class
  • Form Beans as Adapters to the Business Tier
  • Reusing Validation Rules
  • Graceful Validation
  • Consistent Look and Feel
  • Reusable Layouts and Content
  • The Tiles Framework
  • Instantiating Layouts
  • Body-Wrap Insertions
  • Tiles and Stylesheets
  • Working with Tiles Attributes
  • The Tiles Context
  • Definitions
  • Aggregation and Inheritance
  • The Tiles Plug-In
  • Forwarding to Definitions
  • Performance Considerations
Handling Errors
  • Error Handling Options with Struts
  • Documenting Errors with ActionMessage
  • JSP Error Pages
  • Declarative Java Exception Handling
  • Logging in Struts
  • Validator Overview
  • Validator Requirements
  • Configuring Validator Rules
  • Struts Validators
  • Configuring the Struts Validators
  • Configuring Form Validation - global and formset
  • Configuring Form Validation - form and field
  • Configuring Form Validation - arg
  • Configuring Form Validation - var
  • Validation with Regular Expressions
  • ValidatorForm verses ValidatorActionForm
  • Implementing a Validator Method
  • Other Validator Implications
Page Composition with Tiles
  • Tiles Overview
  • Building a Tiles Template
  • Basic Tiles Example
  • Tiles Definitions
  • Additional Options with Definitions
  • Placing Definitions in a Configuration File
  • Using the put Tag
  • Enabling the Tiles Plug-In
  • Using Tiles
Nested Tags
  • Why Nested Tags?
  • Using Nested Tags
  • Parent and Root Tags
Audience :
  • Java Servlet and JSP developers who need to use Struts as a framework for MVC Web Application Development
  • Java programmers with a need to understand the Struts framework and API
  • Developers who want to integrate Spring Framework in their Applications
Pre-requisites :
  • A solid understanding of Java is required
  • Java Servlet and JSP programming
  • Basic understanding of HTML and XML

Apply now at

Next Steps

Find Talent Gaps

Find Talent Gaps Understand your
Java Talent
Risks within
60 minutes.
Contact us today
for a free
Talent Gap Assessment.

Certify Your Skills

Find Talent Gaps Providence's Certification
Program helps
you develop,
practice and test the
technology skills required
to dazzle in the IT arena.

Already Providence Trained ?

You can always take the
fast track to certification.

Stay in Touch

we are Social geeks