TT3363: Spring 3.0, Rich Interfaces and the Web

$1,995.00


  • Virtual Classroom

  • Onsite
Duration: 3 Days

In this course, you will gain a better understanding of how to use Spring in conjunction with the various technologies used in and supporting rich web interfaces. You will leave the course armed with the required skills to design and implement Spring applications that effectively and transparently use various web interface tools and technologies. You will also cover of the concepts and practices for interacting between Spring and JSF, Struts, Web Flow, Ajax, and other components.

What You Will Learn

 

  • Work with the technologies that form the foundation for Ajax
  • Integrate Ajax into Spring to provide a rich, interactive web interface
  • Use Struts and JSF within the Spring framework
  • Use Spring's web flow as a framework to build interfaces for complex web applications
  • Work with HTTPUnit and Spring to facilitate unit testing in the context of the web
  • Interoperate with RESTful services from within Spring 3.0
  • Work with Spring Security to acquire and process authentication credentials as well as enforce authorization on enterprise resources
  • Defend Spring applications from the perspective of application security

Audience

 

Developers who need to understand how and when to use Spring applications with the web

Prerequistes

 

  • Core Spring 3.0 Framework (TT3328) is recommended
  • Practical basic Java development experience and an understanding of the Spring framework as well as Struts

Course Outline

 

1. Spring 3.0 Framework and Spring MVC

  • Spring Application Architectures
  • Spring Container
  • Beans as Components
  • Data Handling
  • Spring Expression Language (SPEL)
  • Spring Data Access Pattern
  • Spring/Web Framework Architecture
  • Spring Model-View-Controller (MVC)

2. Spring and Web Flow

  • Stateful Web Application Challenges
  • Flow-Based Web Development
  • Web Flow Components
  • Creating a Flow
  • Controllers and Executors
  • States and Variables
  • Triggering Events
  • Subflows and Substates

3. Spring and JSF (Optional)

  • Spring/JSF Architecture
  • Integrating JSF into Spring
  • Resolving Spring Bean References from JSF
  • Making Spring Bean References from JSF

4. Spring and Struts (Optional)

  • Spring/Struts Architecture
  • Integrating Struts into Spring
  • Using Spring's ActionSupport
  • Using Dependency Injection (DI) with Struts

5. Web Testing in Spring

  • Spring and Testing
  • Spring, DI, and Testing
  • Spring-Specific Testing
  • Testing Spring MVC Controllers
  • Using Mock Objects
  • Assertions and Testing Methods

6. Spring and RESTful Services

  • RESTful Services
  • Request Mapping to Resources
  • URI Mapping to Parameters
  • Resolving Content Types
  • Integration into MVC

7. Spring Security Framework

  • Core Security Concepts
  • Spring Security Framework
  • Other Spring Features
  • Other Security That Works Well with Spring

8. Spring Security - the Web

  • Spring Security Transparent to Client
  • Run-As and After-Invocation Managers
  • Spring Security - Securing A Web Page
  • Adding Core Security to a JEE Web Site
  • Standard Set of Filters
  • Configuring Web.Xml
  • Spring Beans Security File
  • Http Section
  • Pages without Access Control
  • Using Spring Security
  • Using JSP Tags to Conditionally Show Content
  • Securing Java Code
  • User-Based Vs. Role-Based Security

9. Spring and Application Security

  • Application Security
  • OWASP Top Ten Vulnerabilities
  • SQL Injection
  • Cross-Site Scripting (XSS)
  • Defending Applications Using Spring
  • Defending Against SQL Injection
  • Defending Against XSS

10. Ajax

  • XMLHttpRequest (XHR) Mechanics
  • JavaScript Mechanics
  • CSS Mechanics
  • XML Mechanics
  • JavaScript Applied in Ajax
  • Ajax Applications

11. Spring and Ajax

  • Direct Web Remoting (DWR)
  • Spring and DWR

Course Labs

 

This course is approximately 50% dynamic lab exercises and 50% lecture, designed to train you in essential Spring and Hibernate development skills, coupling the most current programming techniques with the soundest industry practices.