HOME
Current Schedule
Onsite Courses
Register Online
Request Brochure
Download Catalog
Distance Learning
What We're About
Contact ATI Courses
Search Site
Attendees Testimonials
The ATI FAQ Sheet
Suggestions/Wait List
New Courses for 2008
Become an ATI Instructor
Acoustics & Sonar
Rockets & Space
ATI Space News
ATI Site Map
ATI Staff Tutorials
ATI Sampler Page
 

Information Technology

ATI's Jakarta Struts course

Summary:

    This advanced course shows JSP and servlet programmers how to build "Model-2" Web applications using the Jakarta Struts project from Apache. Students learn the Struts architecture and see how it captures a great deal of pre-existing best practice in Web application development. They build applications from scratch using the Struts 1.1 code base, advancing through actions and action mappings, form beans, and request forwarding. They use relational data at the model layer and learn to configure JDBC data sources under Struts. Throughout, the course emphasizes the great facility in Struts of using XML declarations to replace boilerplate Java coding.

    The course then shifts from these controller techniques to a focus on presentation. Students learn to use various libraries of custom JSP tags: the JSP Standard Tag Library (which supersedes a number of Struts tags), Struts HTML tags for form-building and validation, and the Tiles library for robust and reusable page layouts.

    Two chapters near the end of the course treat issues of effective Struts development: one focuses on "under the hood" coding techniques and one on best practices at a design level. By the end of the course, students are building complex, internationalized Web applications that validate user input, handle error conditions gracefully, and make best use and reuse of control and presentation logic through actions, form beans, validators, business and persistence JavaBeans, and Tiles.

Prerequisites:

    Students should have experience with Java programming, Servlets programming, JSP, and Basic knowledge of XML.

Who Should Attend:

    This course is intended for programmers who have been programming in Java and who wish to write programs in Java using many of the advanced Java features.

Benefits of Attendance:

    The student will learn how to: 

  •  Use Struts actions and action mappings to take control of HTTP requests/responses.
  •  Manage HTML form input and output with form beans, and use these beans to simplify data handling in the controller.
  •  Use persistent data in a Struts application with JDBC.
  •  Use JSTL and Struts custom tags to build robust and reusable JSP presentation logic.
  •  Support multiple client locales with various internationalization techniques.
  •  Define validation rules for input forms, and provide clear user feedback.
  •  Build complex presentations using decoupled, reusable tiles, screens and layouts.

Course Outline:

    Chapter 1: Struts ASrchitecture

    1. MVC and Model 2
    2. Command Pattern
    3. Jakarta Struts
    4. More XML, Less Java!
    5. Action Mappings
    6. JavaBeans in Struts
    7. Working with Forms
    8. Validation
    9. Relational Models
    10. Presentation Technology
    11. Tiles

    Chapter 2: Action Mappings

    1. Command Pattern for Web Applications
    2. ActionServlet
    3. Action
    4. ActionMapping
    5. Struts Configuration
    6. Selecting a Forward
    7. Global Forwards
    8. Forwarding Actions
    9. Other Action Subtypes
    10. Declarative Exception Handling

    Chapter 3: Forms

    1. Working with HTML Forms
    2. What Not To Do
    3. Action Forms
    4. Relationship to Input
    5. Relationship to Actions
    6. Relationship to the Model
    7. Relationship to Output
    8. DynaActionForm and Map-Backed Forms
    9. Validation
    10. Coarse-Grained Form Beans

    Chapter 4: Relational Data

    1. JDBC
    2. Drivers
    3. DriverManager (JDBC 1.0)
    4. DataSource (JDBC 2.0)
    5. Connection
    6. Statement
    7. ResultSet
    8. The Struts Data-Source Manager
    9. Multi-Tier Design
    10. Business Logic Beans
    11. Persistence Logic
    12. EJB

    Chapter 5: Struts Tag Libraries

    1. Building View Components
    2. Struts Tag Libraries
    3. Attributes
    4. Building Forms
    5. <html:form>
    6. <html:text> et. al.
    7. Forms and Form Beans
    8. Scope and Duration of Form Data
    9. Managing Hyperlinks
    10. Error Messages
    11. Logic Tags

    Chapter 6: The JSP Standard Tag Library

    1. JSTL Overview
    2. JSP Expression Language
    3. Core Tags
    4. Formatting Tags
    5. XML Tags
    6. SQL Tags
    7. Mixing JSTL, EL, Scripts and Actions

    Chapter 7: Internationalization and Localization

    1. i18n in Java
    2. Locale
    3. ResourceBundle
    4. i18n in Actions
    5. i18n in JSTL
    6. i18n in Validation

    Chapter 8: Input Validation

    1. Validation in Web Applications
    2. Validation in Struts
    3. The Struts Validator Plug-In
    4. Validating ActionForm Subtypes
    5. Configuring Validation
    6. Validators
    7. Rules
    8. Is <html:form> Necessary?
    9. Reporting Errors
    10. Multi-Page Validation
    11. Client-Side Validation
    12. Limitations on the Client Side
    13. Implementing a Validator
    14. Implementing ActionForm.validate

    Chapter 9: Under The Hood

    1. Global Objects and Keys
    2. Modules
    3. ActionServlet, RequestProcessor, ExceptionHandler
    4. Struts Configuration in Depth
    5. The org.apache.struts.config Package
    6. Plug-Ins
    7. Logging with Commons and Log4J
    8. Configuring Log4J
    9. Logging in Web Applications
    10. The org.apache.struts.util Package
    11. Commons BeanUtils

    Chapter 10: Best Practice

    1. Cardinalities in Struts Design
    2. Coarse-Grained Form Beans
    3. Many Actions from One View
    4. Multiple Forwards
    5. Many Mappings to One Action
    6. Chaining Actions
    7. Dynamic Forwarding
    8. Form Beans as Mediators
    9. Using Reflection and BeanUtils
    10. Reusing Validation Rules
    11. Mapping-Based Validation
    12. Graceful Validation

    Chapter 11: Tiles

    1. Consistent Look and Feel
    2. Reusable Layouts and Content
    3. The Tiles Framework
    4. Instantiating Layouts
    5. Body-Wrap Insertions
    6. Tiles and Stylesheets
    7. Working with Tiles Attributes
    8. The Tiles Context
    9. Definitions
    10. Aggregation and Inheritance
    11. The Tiles Plug-In
    12. Forwarding to Definitions
    13. Performance Considerations

    Appendix: Learning Resources

Tuition:

    Tuition is $2750 per person at one of our scheduled public courses. Onsite pricing is available. Reduced rate for government personnel. Please call us at 410-956-8805 or send an email to ati@ATIcourses.com.

Register Now Without Obligation