3 arrows

Summer-Ready Savings: Up To $500 Off Training 


Spring 4.2 and the Web | Covering Rich Interfaces, REST, Spring Security & More

  • Tuition USD $1,995 GSA  $1,809.07
  • Reviews star_rate star_rate star_rate star_rate star_half 4064 Ratings
  • Course Code TT3363-S4
  • Duration 3 days
  • Available Formats Classroom

Spring 4.2 and the Web is a three day in-depth course geared for experienced Java and Spring developers who need to understand how to use Spring in conjunction with the various technologies used in and supporting rich web interfaces. The course covers a wide spectrum of topics, so students should have a basic understanding of those technologies and resources prior to taking this class. Students will gain hands-on experience working with Spring, using Maven for project and dependency management, and, optionally, a test-driven approach (using JUnit) to the labs in the course. This course is a key component in our comprehensive Spring Framework Training Series.

Skills Gained

  • Integrate Ajax into Spring to provide a rich, interactive web interface
  • Understand how to use various view technologies 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 4.2
  • Understand and work Spring Security to acquire and process authentication credentials as well as enforce authorization on enterprise resources
  • Understand how to defend Spring applications from the perspective of application security

Who Can Benefit

  • Experienced Spring Developers


  • TT3328: Spring 4.2 Essentials
  • TT3330 Mastering the Spring 4.2 Framework
  • TT2100 Mastering Java for OO Developers

Course Details

Experiential Learning: Hands-On Labs

This class is “technology-centric”, designed to train attendees in essential Spring development skills, coupling the most current, programming techniques with the soundest industry practices. This workshop is about 50% dynamic lab exercises and 50% lecture. Throughout the course students will be led through a series of progressively advanced topics, where each topic consists of lecture, group discussion, comprehensive hands-on lab exercises, and lab review. Multiple detailed lab exercises are laced throughout the course, designed to reinforce fundamental skills and concepts learned in the lessons. At the end of each lesson, developers will be tested with a set of review questions to ensure that he/she has fully understands that topic.

Lesson: Spring MVC Review

  • Spring MVC Review
  • Spring MVC application Layers
  • Request Life Cycle in Spring MVC
  • HandlerMapping
  • Controllers
  • Interceptors
  • ViewResolver

Lesson: HandlerMapping

  • Mapping URLs to Controllers
  • HandlerMapping Interface
  • RequestMapping Annotation
  • Mapping Requests
  • Custom Handler Mapping

Lesson: Controllers

  • Spring MVC's Controller Hierarchy
  • How to Select a Controller
  • Controller Interface
  • Controller annotation
  • Form Controllers
  • Handling Exceptions
  • Testing Controllers

Lesson: Validation

  • Types of Validators
  • Validator Interface
  • Controller with Validator
  • Errors Interface
  • JSR-303 Bean Validation API
  • Injecting a Validator

Lesson: HandlerInterceptors

  • HandlerInterceptor Lifecycle Points
  • LocaleChangeInterceptor
  • UserRoleAuthorizationInterceptor
  • WebContentInterceptor

Lesson: Spring’s form Tag Library

  • The Spring Form tags
  • Using a PropertyEditor
  • Survey of form tags
  • Support for HTML5 Attributes

Lesson: Spring Web Flows

  • Spring Web Flows Components
  • Configuring Spring Web Flows
  • Web Flow FlowExecutor
  • Triggering an Event
  • Subflows

Lesson: Spring Messaging

  • spring-messaging Module
  • Message
  • Message Channel
  • Message Handler

Lesson: Spring and WebSockets

  • Working with WebSockets in Spring
  • SockJS: Fallback Option
  • Spring Messaging and WebSockets
  • Working with STOMP Messages

Lesson: Spring AJAX with DWR

  • DWR Mechanics
  • Spring and DWR Configuration
  • Resource Handling
  • Versioned Resource URLs
  • Generating HTML5 AppCache Manifests

Lesson: Unit Testing and Spring

  • Spring Can Make Testing Much Easier
  • Spring Supports Spring-Specific Tests

Lesson: Testing Spring Web Applications

  • Testing a SpringMVC Controller
  • Creating Request and Response Objects
  • Streamlining Your Assertions
  • Unit Testing a Spring-MVC Web Application

Lesson: SpringMVC Test Framework

  • Overview of Test Framework
  • Options for Setting up Tests
  • Using the DispatcherServlet
  • Setting up and Running Tests

Lesson: Enterprise Spring Security

  • Spring Security Framework
  • Security Interceptors – Function and Types
  • Performing Authentication
  • Wiring in Encoders and Salts
  • Access Decision Managers
  • Votes and Voters

Lesson: Spring Web Security

  • Spring Security Works by Interception
  • Securing a Web page
  • The Standard Set of Filters
  • Using Spring Security with Spring Beans
  • SecurityContextHolder

Lesson: Overview of REST (Optional)

  • REpresentational State Transfer
  • REST Characteristics
  • REST Elements
  • REST Architectural Principles
  • REST and HTTP
  • REST/HTTP: Representation-Oriented
  • REST Design Principles

Lesson: RESTful Services in Spring

  • Spring Support for REST
  • Spring's Parameter Injection
  • @RestController Annotation

Lesson: Handling Restful Content

  • Handling Transformations in Spring
  • Negotiated view-based rendering
  • HTTP Message Converters
  • Jackson Serialization Views
  • Working with JSONP

Lesson: RESTful Clients in Spring

  • Spring's Hidden Method Field
  • Processing Incoming REST Requests
  • Spring's Support for REST Clients
  • Performing GET Requests and Other Methods
  • Non-blocking Asynchronous Rest

When does class start/end?

Classes begin promptly at 9:00 am, and typically end at 5:00 pm.

Does the course schedule include a Lunchbreak?

Lunch is normally an hour long and begins at noon. Coffee, tea, hot chocolate and juice are available all day in the kitchen. Fruit, muffins and bagels are served each morning. There are numerous restaurants near each of our centers, and some popular ones are indicated on the Area Map in the Student Welcome Handbooks - these can be picked up in the lobby or requested from one of our ExitCertified staff.

How can someone reach me during class?

If someone should need to contact you while you are in class, please have them call the center telephone number and leave a message with the receptionist.

What languages are used to deliver training?

Most courses are conducted in English, unless otherwise specified. Some courses will have the word "FRENCH" marked in red beside the scheduled date(s) indicating the language of instruction.

What does GTR stand for?

GTR stands for Guaranteed to Run; if you see a course with this status, it means this event is confirmed to run. View our GTR page to see our full list of Guaranteed to Run courses.

Does ExitCertified deliver group training?

Yes, we provide training for groups, individuals and private on sites. View our group training page for more information.

Does ExitCertified deliver group training?

Yes, we provide training for groups, individuals, and private on sites. View our group training page for more information.

The tool provided to practice the course teachings is very functional and easy to use.

This was effective way to provide a ton of information in a short time period.

The technical data in the AWS Solutions Architect course was very thorough.

Some Labs are very good but some steps it ask to update but its already updated, but overall its very good training.

Good training material and good instruction. More time needs to be provided for the lab work.

0 options available

There are currently no scheduled dates for this course. If you are interested in this course, request a course date with the links above. We can also contact you when the course is scheduled in your area.

Contact Us 1-800-803-3948
Contact Us
FAQ Get immediate answers to our most frequently asked qestions. View FAQs arrow_forward