> > > SWEB Detailed outline

Spring Web (SWEB)

Course Description Schedule Course Outline

Detailed Course Outline

Web Primer (Optional)
  • Basic background in Servlets, URLs, Containers
  • The labs sample application
Spring Overview (Optional)
  • Introduction to Spring configuration
  • Bean lifecycle
  • Configuration alternatives
  • Integration testing with Spring
Getting Started with Spring Web MVC
  • Spring model-view-controller (MVC) overview
  • DispatcherServlet
  • Controller programming model overview
  • Spring MVC views
  • Introduction to Spring Boot
More on Controllers
  • Controller Method parameters
  • Accessing Request data
  • WebMvcConfigurer & View Controllers
  • Using Conventions
Spring Boot
  • Fast development and deployment using Spring Boot
  • Simplified dependency management with starter POMs
  • Packaging options - JAR or WAR
  • Easily overriding Spring Boot defaults
Configuration without Spring Boot (Optional)
  • Configuring ContextLoaderListener and DispatcherServlet
  • Using @EnableWebMvc and WebMvcConfigurer
  • Move legacy applications to Spring Boot
Mapping And Configuration
  • SPring MVC Internal Infrastructure
  • Spring Boot’s Default Setup
  • Advanced Spring Boot Configuration
Message Sources And Internationalization
  • Defining message sources (message bundles)
  • Multiple Languages and Locales
Brief Introduction To Layouts
  • Page layout and structure
Using Views In Spring MVC
  • Views and view resolvers
  • Setting up a View resolver chain
  • Alternating views and Content Negotiation
  • JSON and XML Views
Filters And Resource Management
  • Defining Spring Configured Filters
  • Client Caching using ETags
  • Resource configuration and the resource pipeline
Form Handling With Spring MVC
  • Form Rendering
  • Type Conversion
  • Data Binding
  • Form submission lifecycle
  • Form validation (using Spring and JSR 330 validation)
  • Form Object management
Implementing Rest
  • Overview of REST concepts (optional)
  • Extending Spring MVC to support RESTful interactions
  • Setting response status
  • Handling request and response body data
  • HttpEntity and URI building
  • Server features to support browsers
  • Using ResponseBodyAdvice
  • CORS and @CrossOrigin
Exception Handling
  • Using @RequestStatus with Exceptions
  • Adding Exception handlers to Controllers
  • Global exception handling - Controller Advices and Exception resolvers
  • Exception handling for RESTful interactions
Building Client Applications With Ajax (Optional)
  • Ajax and Spring MVC
  • Using JavaScript frameworks
  • Example: Spring MVC REST and jQuery
Spring Session
  • Managing persistent sessions independent of Containers
  • Understanding how it works using a simple implementation
Web Application Security With Spring Security
  • Motivation for Spring Security
  • Spring Security in a Web environment
  • Using Spring Security tag libraries
  • Method security
Debugging And Testing Web Applications
  • Debugging applications in a browser
  • Testing Web applications using Spring’s Mock MVC framework
  • Using Spring HtmlUnit
Spring Websockets
  • Overview of Websocket development
  • Using Websockets and Stomp with Spring MVC
Spring Web Flux
  • Brief introduction to Reactive Programming
  • Overview of the upcoming reactive web functionality in Spring
Layouts In Spring MVC (Optional)
  • Page layout and structure
  • Creating reusable templates with Apache Tiles
  • Configuring Tiles in Spring MVC
Spring MVC Internals (Optional)
  • URL mappings
  • Handler mappers and handler adapters
Site Personalization With Spring MVC (Optional)
  • Working in several languages: internationalization support in Spring MVC
  • Look-and-feel changes using themes and locales
  • Handling Mobile Devices with Spring Mobile