Struts 2 – Overview
- The Big picture – Why and What of Struts 2
- Architecture – Identifying the key components
- MVC and Struts 2
- Workflow: Request-Response lifecycle
- Anatomy of a Struts 2 application
- Installation and configuration
- Configuring Struts 2 with Spring
- Configuring eclipse for Struts 2 development
Application Development with Struts 2
- Key concepts
- The Action objects
- Configuration
- Dependency Injection
- Debugging
Action
- The Action interface
- The ModelDriven interface
- The ActionSupport class
- Implementing Actions
- Chaining Actions
- Configuring Actions
Results
- The Result interface
- Chain Result
- Dispatcher Result
- HttpHeader Result
- Redirect Result
- Redirect Action Result
Introduction to Ajax
- The problem with traditional web applications
- Contacting the server without page refreshing
- The XmlHttpRequest object
Presentation with Struts Tags
- Generic Tags
- UI Tags
- Themes and Templates
- Ajax Tags
- OGNL
- Tabular inputs
- HTML form buttons
- Using Checkboxes
- Iterator tag
- Formatting dates and numbers
- Skinning
- Multiple Submit Buttons
- Tabular inputs with HashMap
Interceptors
- Introduction to AOP
- The Interceptor interface
- Implementing aspects using interceptors
- Configuring interceptors in struts.xml
- Interceptor Order
- File Upload Interceptor
- ExecuteAndWait Interceptor
Test-driven Development
- JUnit
- Writing unit tests
- Test Actions
Validation
- Basic Validation
- Client Validation
- AJAX Validation
- Using Field Validators
- Using Non Field Validators
- Using Visitor Field Validator
Type Conversion
- Built in Type Conversion Support
- Implementing a custom Type Converter
- Null Property Handling
- Type Conversion Error Handling
REST Full Web Services (JAX-RS with Jersey Implementation)
- Understand the advantages of the REST architecture for web services
- Developing REST Full Web services using JAX-RS
- Manage XML content using XML Schema and JAXB
- Understanding Resources
- Using Http Methods to represent CRUD operations
- Dispatching Request to Methods
- The Application Path
- The @Path Annotation
- The HTTP Method Annotations
- Sub-Resource Locators
- Annotation Inheritance and overriding
- Parameters
- Different Types of Parameters
- Response Types
- @Produces
- Working with different response types
- Java Objects
- XML
- JSON
- HTML/Text
- Binary Content
- Understanding RESTFull Web services support in Spring Framework with a sample application.