Spring: Spring MVC
5h 31mIntermediate2019-11-07
Authors

Ketkee Aryamane
Software Professional
Course details
Dive deep into Spring MVC, an essential web framework for Java developers who work on enterprise-level projects. Throughout this practical course, instructor Ketkee Aryamane steps through fundamental aspects of this framework, where she explains controllers, models, and views in Spring MVC. She also discusses the benefits of learning Spring MVC; explores exception handling, themes, implementing asynchronous execution flows, and extending your Spring MVC application to serve REST requests; and provides exercises that can help you strengthen your understanding of key concepts. Upon completing this course, you'll have the knowledge you need to build robust MVC web applications with Spring MVC.
Learning objectives
Using Spring MVC for web projects
Spring MVC controllers
Implementing controller flows
Validating data in models
Localizing error messages
Exception handling in Spring MVC
Working with view resolvers
Using interceptors
Defining themes
Spring MVC REST controllers
Learning objectives
Using Spring MVC for web projects
Spring MVC controllers
Implementing controller flows
Validating data in models
Localizing error messages
Exception handling in Spring MVC
Working with view resolvers
Using interceptors
Defining themes
Spring MVC REST controllers
Skills covered
Spring Data JPASpring FrameworkSpringBack-End Web DevelopmentFull-Stack Web DevelopmentFront-End Web DevelopmentWeb DevelopmentOpen SourceDeep Dive (X:Y)
Concepts
0. Introduction
- 01 - Spring MVC for robust applications
- 02 - What you should know
- 03 - Exercise files and the demo app
1. Getting Started and Project Setup
- 04 - Why use Spring MVC
- 05 - Features of Spring MVC
- 06 - Spring MVC architecture
- 07 - Create Maven Spring MVC project
- 08 - Add folders and static files
- 09 - Java configuration for Spring MVC
- 10 - Add controllers and test the application
- 11 - Generate Spring MVC project with Spring Boot
- 12 - Add static files and view resolver
- 13 - Add controllers and test the application
2. Implementing Controller Flows
- 14 - Basic annotations for controllers
- 15 - Create a controller with request mapping
- 16 - @RequestParam in Controller
- 17 - Add database code
- 18 - Access data from Model
- 19 - @ModelAttribute - Add JSP pages
- 20 - @ModelAttribute - Access model attributes on JSP
- 21 - @ModelAttribute - Add Spring form tag library
- 22 - Test the application
3. Data Validation and Binding
- 23 - Validating data in models
- 24 - Add validations to user bean
- 25 - Spring tags for errors
- 26 - Localizing error messages
- 27 - Binders overview
- 28 - Binders demo
- 29 - Convertors overview
- 30 - Convertors demo
4. Exception Handling
- 31 - DispatcherServlet and special bean types
- 32 - Exception flow handler implementations
- 33 - Custom error page and Login controller
- 34 - Add method for selecting a user
- 35 - Add exception handler in Controller
- 36 - Global exception handler for application
- 37 - Default model attributes using @ControllerAdvice
5. Async Request Processing
- 38 - Conventional HTTP request processing
- 39 - Spring MVC async processing under the hood
- 40 - Async configuration
- 41 - Return callable in Controller
- 42 - DeferredResult implementation for async
6. View Resolvers
- 43 - What are view resolvers
- 44 - Using XmlViewResolver
- 45 - Using ResourceBundleViewResolver
- 46 - Chaining view resolvers
- 47 - Chaining view resolvers demo
7. Interceptors and Themes
- 48 - Introduction to interceptors
- 49 - Built-in and custom interceptors
- 50 - Add interceptor class
- 51 - Register interceptors
- 52 - Request and session attributes
- 53 - Save and get SessionAttributes demo
- 54 - Test session flow and implement forwarding
- 55 - End HttpSession
- 56 - Redirecting outside an application
- 57 - Introduction to themes
- 58 - Define themes and theme resolver
- 59 - Define ThemeChangeInterceptor
- 60 - Pick themes on JSPs
- 61 - Introduction to l10n and i18n
- 62 - Automatic locale resolution demo
- 63 - CookieLocaleResolver and interceptor for l10n and i18n
8. Spring MVC REST Controllers
- 64 - RESTful services recap
- 65 - Use @Controller and @ResponseBody
- 66 - Use @RequestController and @ResponseEntity
- 67 - Use @PathVariable and @RequestParam to get request payload
- 68 - Use @RequestBody and @ResponseEntity
- 69 - Use @ExceptionHandler
- 70 - Testing the @ExceptionHandler with the @ResponseEntity
- 71 - MVC vs. REST controllers
Conclusion
- 72 - Next steps