Topics

 
  • Introduction to Hibernate
  • Hibernate and Database Support in Spring
  • Spring MVC
  • Introduction to Spring Web Flow
  • Using JSF with Spring
  • Introduction to AJAX
  • Using AJAX with Spring

What you will learn

  After completing this AJAX training course, the student should be able to:
  • Build rich Spring applications with various web frameworks and AJAX/JSF integration

Audience

 

Software Developer, Designer, Architect

Prerequisites

  Servlet/JSP Programming

Duration

  3 days.
Lab Setup Guide

Outline for Developing Rich Web Applications with Spring 2.5 Using RAD 7.0

1. Introduction to Hibernate

 
  • Topics
  • What is Hibernate?
  • Relational Database Technology
  • Accessing Relational Databases from Java
  • Domain Models
  • Comparing Object and Relational Models
  • Identity Modeling
  • Granularity of Objects and Tables
  • Association Modeling
  • Navigation
  • Inheritance
  • What is Object/Relational Mapping?
  • Advantages of using an ORM Tool
  • Architecture of Hibernate
  • Hibernate API
  • Extension Interfaces
  • Hibernate Configuration
  • Hibernate Mappings
  • Hibernate Properties
  • Hibernate XML Configuration Files
  • Non-Managed and Managed Environments
  • Configuration in a Non-Managed Environment
  • Configuration in a Managed Environment
  • Binding SessionFactory to JNDI
  • A Simple Example
  • Alternatives to Hibernate
  • EJB Entity Beans
  • Java Persistence API
  • Hand-Coded Persistence Using JDBC
  • Object-Oriented Databases
  • Other ORM Tools
 

2. Database Integration and Transaction Management

 
  • Topics
  • DAO Support in Spring
  • DataAccessException
  • Using DataSources
  • DAO Templates
  • DAO Templates and Callbacks
  • Using Spring with JDBC
  • Writing Data with JdbcTemplate
  • Reading Data with JdbcTemplate
  • Reading Single-Row Scalar Data
  • Spring 2.5 NamedParameterJdbcTemplate
  • ORM Tool Support in Spring
  • Hibernate
  • Hibernate Session Factory
  • Spring LocalSessionFactoryBean
  • Spring HibernateTemplate
  • Spring HibernateCallback
  • HibernateTemplate Convenience Methods
  • LocalEntityManagerFactoryBean
  • Spring JpaTemplate
  • Spring JpaCallback
  • JpaTemplate Convenience Features
  • Transactions
  • Transaction Management in Spring
  • Spring Transaction Managers
  • Programmatic Transactions
 

3. Spring MVC

 
  • Topics
  • Spring MVC
  • Spring MVC Components
  • DispatcherServlet
  • Context Loaders
  • Spring MVC Example
  • Mapping Web Requests
  • BeanNameUrlHandlerMapping
  • CommonsPathMapHandlerMapping
  • Using Multiple Handler Mappings
  • Controller Hierarchy
  • AbstractCommandController
  • SimpleFormController
  • AbstractWizardFormController
  • MultiActionController
  • ThrowawayController
  • View Resolution
  • InternalResourceViewResolver
  • BeanNameViewResolver
  • XmlViewResolver
  • ResourceBundleViewResolver
  • Using Multiple View Resolvers
  • Binding Views to Models
  • Spring 2.5 Form Tags
  • form and input Tags
  • password and hidden Tags
  • checkbox Tag
  • radiobutton Tag
  • textarea Tag
  • select Tag
  • option Tag
  • options Tag
  • errors Tag
  • Portlets
  • Spring 2.5 Portlet MVC Framework
 

4. Web Application Alternatives

 
  • Topics
  • Velocity Templates
  • Configuring Velocity in Spring
  • Velocity View Resolution
  • Using Velocity Utility Tools
  • Accessing Session/Request Attributes in Velocity
  • Binding Velocity Views to the Model
  • FreeMarker
  • Configuring FreeMarker in Spring
  • FreeMarker View Resolution
  • Accessing Session/Request Attributes in FreeMarker
  • Binding FreeMarker Views to the Model
  • Jakarta Tiles
  • Configuring Tiles in Spring
  • Tiles View Resolution
  • Tiles Component Controller
  • Creating Excel Spreadsheets
  • Creating PDF Documents
  • Creating Other Non-HTML Documents
  • Jakarta Struts
  • Using Spring with Struts
  • Configuring Spring in Struts
  • Spring-Aware Struts Actions
  • Delegate Requests to Struts Action Beans
  • DelegatingRequestProcessor
 

5. Introduction to Spring Web Flow 2

 
  • Objectives
  • What is Spring Web Flow 2?
  • Relationship to Spring and Spring MVC
  • Spring Web Flow 2 Modules
  • Integration Support
  • What is a Flow?
  • Book Hotel Flow Example
  • Book Hotel Flow Definition
  • Benefits of Spring Web Flow 2
  • Required Software
  • Configuration Steps
  • JAR File Instructions
  • Configure web.xml
  • Spring Web Flow Components
  • Sample Spring Web Flow Configuration File
  • Summary
 

6. Defining Flows

 
  • Objectives
  • Recap: What is a Flow?
  • Recap: Book Hotel Flow Example
  • Flow Definition Language
  • Skeletal Flow Definition
  • States
  • View State
  • Transitions
  • Generating Events
  • Generating Events using Submit Button
  • Generating Events using Links
  • End States
  • Actions
  • When do Actions Occur?
  • Putting it all Together
  • Introduction to Unified Expression Language
  • Unified Expression Language Functionality
  • Unified Expression Language Implicit Variables
  • Flow Instances
  • Flow Variables
  • Variable Scopes
  • Assigning and Accessing Variables
  • Flow Input
  • Binding a View to a Model
  • Summary
 

7. Using JSF with Spring

 
  • Objectives
  • JSF Integration Options
  • DelegatingVariableResolver
  • SpringBeanVariableResolver
  • SpringBeanFacesELResolver
  • Spring Bean Scopes
  • FacesContextUtils
  • JSF with Spring Web Flow
 

8. Introduction to AJAX

 
  • Objectives
  • What is AJAX?
  • A Simple Example
  • The Old Way
  • The AJAX Way
  • Two Key Aspects of AJAX
  • What are the Advantages of the AJAX Approach?
  • AJAX Technologies
  • The Basic AJAX API
  • Creating the XMLHttpRequest Object
  • The XMLHttpRequest Object Basics
  • Complete Example
  • The Timeline
  • Review Questions
  • Review Answers
 

9. Using JavaScript with Spring

 
  • Objectives
  • Spring JavaScript
  • Relationship to Dojo
  • Serving JavaScript Resources
  • Including Spring JavaScript
  • Spring JavaScript Decorations
  • Dijit ValidationTextBox Decoration
  • Spring ValidateAllDecoration
  • Handling Ajax Requests with Spring MVC
  • Handling Ajax Requests with Spring Web Flow
  • Summary