Day03-Slide-SpringMVC-2021 - TranLQ
Day03-Slide-SpringMVC-2021 - TranLQ
SpringMVC Framework
https://www.facebook.com/quynhtran.ly.94
1- What is Spring MVC
https://www.facebook.com/quynhtran.ly.94
Model-View-Controller
https://www.facebook.com/quynhtran.ly.94
Spring MVC Benefits
https://www.facebook.com/quynhtran.ly.94
Spring MVC Overview
▪ Components of a Spring MVC Application
https://www.facebook.com/quynhtran.ly.94
Spring MVC Front Controller
https://www.facebook.com/quynhtran.ly.94
Controller
https://www.facebook.com/quynhtran.ly.94
Model
https://www.facebook.com/quynhtran.ly.94
View Template
https://www.facebook.com/quynhtran.ly.94
2- Dev Environment Check Point
https://www.facebook.com/quynhtran.ly.94
Spring MVC Configuration- Part 1
https://www.facebook.com/quynhtran.ly.94
Spring MVC Configuration- Part 2
https://www.facebook.com/quynhtran.ly.94
Step 1: Configure Spring DispatcherServlet
https://www.facebook.com/quynhtran.ly.94
Step 2: Set up URL mappings to Spring MVC
Dispatcher Servlet
https://www.facebook.com/quynhtran.ly.94
Step 3: Add support for Spring component Scanning
https://www.facebook.com/quynhtran.ly.94
Step 4: Add support for conversion, formatting
and validation
https://www.facebook.com/quynhtran.ly.94
Step 5: Configure Spring MVC View Resolver
https://www.facebook.com/quynhtran.ly.94
View Resolver Configs - Explained
https://www.facebook.com/quynhtran.ly.94
Spring Configuration – jar files – xml files
https://www.facebook.com/quynhtran.ly.94
3- Spring MVC – Creating Controllers and Views
▪ Our first Spring MVC example
https://www.facebook.com/quynhtran.ly.94
Development Process
https://www.facebook.com/quynhtran.ly.94
Step 1: Create Controller class
https://www.facebook.com/quynhtran.ly.94
Step 2: Define Controller method
https://www.facebook.com/quynhtran.ly.94
Step 3: Add Request Mapping to Controller method
https://www.facebook.com/quynhtran.ly.94
Step 4: Return View Name
https://www.facebook.com/quynhtran.ly.94
Step 5: Develop the view page
https://www.facebook.com/quynhtran.ly.94
4- Code-demo: run main-menu.jsp
https://www.facebook.com/quynhtran.ly.94
File Code demo
https://www.facebook.com/quynhtran.ly.94
Scenario: Read HTML Form Data
https://www.facebook.com/quynhtran.ly.94
Development Process
https://www.facebook.com/quynhtran.ly.94
Create HelloWorldController Class
https://www.facebook.com/quynhtran.ly.94
Create HTML Form
https://www.facebook.com/quynhtran.ly.94
Create HTML Form
https://www.facebook.com/quynhtran.ly.94
File Code demo
https://www.facebook.com/quynhtran.ly.94
5- Adding data to Spring model
https://www.facebook.com/quynhtran.ly.94
Spring Model
https://www.facebook.com/quynhtran.ly.94
Scenario: add the updated information to the
model
https://www.facebook.com/quynhtran.ly.94
Passing Model to Controller
https://www.facebook.com/quynhtran.ly.94
Add more data to the model
https://www.facebook.com/quynhtran.ly.94
View Template - jsp
https://www.facebook.com/quynhtran.ly.94
File Code demo
https://www.facebook.com/quynhtran.ly.94
6- Spring MVC - Request Params and Request
Mappings
▪ Learn how to read HTML Form data with
@RequestParam Annotation
https://www.facebook.com/quynhtran.ly.94
Bind variable using @RequestParam Annotation
https://www.facebook.com/quynhtran.ly.94
Code: Demo
https://www.facebook.com/quynhtran.ly.94
Add Controller @RequestMapping
https://www.facebook.com/quynhtran.ly.94
Code: Demo
https://www.facebook.com/quynhtran.ly.94
File Code demo
https://www.facebook.com/quynhtran.ly.94