【代碼學習】Spring MVC實現用戶註冊功能
1.實驗介紹
-----------------------------------------------------------------------------------------------------------------------------
1.1實驗環境
- Tomcat 7.0.72
- JDK 1.8
- IntelliJ IDEA 2017.2
- Firefox
1.2實驗知識點
- Spring MVC執行流程
- 註解
- 參數綁定
- 數據綁定
- Hibernate-Validator
-----------------------------------------------------------------------------------------------------------------------------
2.實驗介紹
2.1Spring MVC執行流程
1、DispatcherServlet
前端控制器,所有的請求都經過它統一分發,請求會被分給對應的Handler
2、HandlerMapping(處理器映射器)
解析請求鏈接,然後根據請求連接找到執行這個請求的類
3、HandlerAddapter(處理器適配器)
調用具體的方法對用戶發來的請求來進行處理
4、Controller
Controller 將處理用戶請求,Controller 處理完用戶請求,則返回 ModelAndView 對象給 DispatcherServlet 前端控制器。
從宏觀角度考慮,DispatcherServlet 是整個 Web 應用的控制器;從微觀考慮,Controller 是單個 Http 請求處理過程中的控制器。
5、ViewResolver(視圖解析器)
解析 ModelMdoelAndView 中的邏輯視圖名變為一個真正的 View 對象,並將 MdoelAndView 中的 Model 取出
2.2常用註解@Controller
在Spring MVC中,控制器Controoller負責處理有DispatcherServlet分發的請求,它把用戶請求的數據經過業務處理層處理之後封裝成Model,再把Model返回給對應的View進行展示
2.3常用註解@RequestMapping
@RequestMapping註解用來處理請求地址映射,指示Spring用哪個類或方法處理請求
常見屬性:
value:指定請求的實際地址,即value屬性將URL映射到方法上
@RequestMapping(value="/register")
@RequestMapping("/register")
method:指定請求的method類型,即該方法可以處理的HTTP請求方式,如GET,POST
@RequestMapping("/register",method=RequestMethod.POST)
consumes:指定處理請求的提交內容類型(Content-Type),如aoolication/json
@RequestMapping("/register",method=RequestMethod.POST,consumes="application/json")
produces:指定返回的內容類型,僅當request求情頭的(Accept)類型中包含指定類型才返回
@RequestMapping("/register",method=RequestMethod.POST,produces="application/json")
params:指定request中必須包含的參數值
@RequestMapping("/register",method=RequestMethod.POST,params="myParam=Value")
header:指定request中必須包含指定的header值
@RequestMapping("/register",method=RequestMethod.POST,headers="Referer=http://www.shiyanlou.com")
2.4常用校檢註解
這裏給出 Hibernate-Validator 主要的校驗註解說明:
-----------------------------------------------------------------------------------------------------------------------------
3.實驗過程
3.1新建項目工程
在WEB-INF下創建lib文件夾,將jar包下載到lib文件夾內,單擊右鍵 Add as Libiary
3.2配置web.xml文件
3.4SpringMVC-servlet.xml文件
在web/WEB-INF/目錄下新建Spring MVC配置文件
3.5創建實體類
在項目目錄src的包com.SpringMVC.Entity下新建類User.java,包含username,password,age和email屬性,代碼如下:
1 package com.SpringMVC.Entity; 2 3 public class User { 4 private String username; 5 private String password; 6 private int age; 7 private String email; 8 9 public User(){} 10 public User(String username, String password, int age, String email) { 11 this.username = username; 12 this.password = password; 13 this.age = age; 14 this.email = email; 15 } 16 17 public String getUsername() { 18 return username; 19 } 20 21 public void setUsername(String username) { 22 this.username = username; 23 } 24 25 public String getPassword() { 26 return password; 27 } 28 29 public void setPassword(String password) { 30 this.password = password; 31 } 32 33 public int getAge() { 34 return age; 35 } 36 37 public void setAge(int age) { 38 this.age = age; 39 } 40 41 public String getEmail() { 42 return email; 43 } 44 45 public void setEmail(String email) { 46 this.email = email; 47 } 48 }
3.6Controller類的實現
在項目目錄src的包com.SpringMVC.Controller下新建類UserController.java,代碼如下
【代碼學習】Spring MVC實現用戶註冊功能