Objectives
This class combines lecture with hands-on experience, and open ended discussion that will help the developer quickly understand all advantages of Struts 2 applications and create Struts 2 applications Eclipse and JBoss/ TomCat.
Prerequisites
3 year Java programming experience with Servlets, JSP, Custom tags, JSTL, or after taking WA1278.
Duration
5 Days
Outline for Java for Web Development using Struts 2 Training
Module 1: Introduction to Struts 2 Framework
- Introduction
- What is a Framework?
- Struts 2 Overview
- Struts 2 Implementation of MVC
- Processing Request
- Model – Action
- View – Result
- Interceptors
- Exception Handling
- The ValueStack and ONGL
- Advantages of Struts 2
- Struts 2 vs. Struts 1
Module 2: Struts 2 Architecture
- Two Ways of Declaring Architecture
- Declarative Architecture
- XML Based Declarative Architecture
- The struts.xml file
- The struts.xml file – include tag
- The struts.xml file – package tag
- Actions
- Actions –Single Result
- Actions –Multiple Results
- Request and Form Data
- Accessing Business Services
- Accessing Data from the Action
- Value Stack
- Example
- Exercise
Module 3: Struts Configuration File
- Overview
- The struts.xml File (package element)
- Package Inheritance
- The struts.xml File (include element)
- The struts.xml File (action element)
- The struts.xml File (result element)
- The global-results Elements
- Results
- Namespace Configuration
- Namespace Example
- The interceptor-related Elements
- Exercise
Module 4 : Action Classes
- Action
- What Does an Action Do?
- Encapsulates Interaction with the Model
- Provides Locus for Data Transfer
- Returns Control String for Result Routing
- Packaging Your Actions
- Implementing Action class
- ActionSupport Class
- ActionSupport Class validate method
- Using Resource Bundles
- Accessing Resources
- Aware Interface
- ServletContextAware Interface
- ServletRequestAware Interface
- SessionAware Interface
- ServletResponseAware Interface
- Example
- Exercise
Module 5: The Persistence Layer
- JDBC
- Overview of JDBC
- Connecting to the DataBase
- Submitting the SQL statements
- Retrieving and processing data
- DB_Action Class
- Data Access Object
- Exercise
- Hibernate
- Overview
- Hibernate
- Architecture Of Hibernate
- Code Example
- Creating Persistent Java Objects
- Mapping Persistent Object
- Hibernate Configuration File
- Inserting new record
- Querying the database
- Example
- Exercise
Module 6: The Interceptors
- Overview
- Invocation of an Action
- ActionInvocation Class
- Built-in Struts 2 interceptors
- Configuring Interceptors (struts.xml)
- Setting and Overriding Parameters
- Interceptor Interface
- Create Your Own Interceptor
- Example
- Exercise
Module 7: Type Conversion
- Introduction
- Build in Converters
- Primitives And Wrapper Classes
- Customizing Error Messages
- Custom Type Converters
- Configuring the framework
- Example: Custom Type Converters
- Exercise
- Global Type Converters
Module 8: OGNL and Tags Library
- Introduction
- OGNL and Struts 2
- The Value Stack
- The ActionContext
- Expression Language
- Reading Value Stack Object Properties
- Selecting The Root Object For OGNL
- ValueStack Details
- Working with List and Array
- Working with Map
- Invoking a Method
- An overview of Struts tags
- Using OGNL to Set Attributes on Tags
- The property tag
- The set tag
- bean Tag
- UI Struts Tag Library
- UI Input Tags
- The Form Tag
- The textfield, password Tags
- The submit Tag
- The reset Tag
- The checkbox Tag
- Non UI (Generic) Tags
- if Tag
- iterator Tag
Module 9: Validation Framework
- Overview
- Using a Validator
- Validator Configuration
- Validator Configuration (param)
- Strurs Build-in Validators
- Date validator
- double Validator
- requiredstring Validator
- Example
- Exercise
- Writing a Custom Validator
- Example
- Exercise
Module 10: Internationalization
- Introduction
- Java Support for I18n
- Struts 2 Support of i18n
- Request_locale Parameter
- Example
- Exercise
- Module 11: Inversion of Control
- Introduction
- Dependencies
- Injecting Dependencies
- Setter Injection
- Problem Description
- Adding Spring to Struts 2
- Web.xml
- applicationContext.xml
- struts.xml After Integration
- Example
- Exercise
Module 12: Advanced Topics
- Alternative Method Invocation
- Wildcard Method
- Dynamic Method Invocation
Module 13: Securing Struts 2 Applications (part 1)
- Overview
- How Web Security Works
- Security Definitions
- The Four Checks
- Filters
- FilterToBeanProxy
- FilterChainProxy
- Configuration
- The Filter Chain
- AuthenticationProcessingFilter
- The HttpSessionContextIntegrationFilter
- The ExceptionTranslationFilter
- FilterSecurityInterceptor
- AuthenticationManager
- AccessDecisionManager
- AuthenticationEntryPoint
- Securing Web Resources
- Example
- Securing Method Invocation
- Example
- View-layer security
- Example
- Summary
Module 14: Securing Struts 2 Applications (part 2)
- Final Project