1. 程式人生 > >【代碼學習】Spring MVC實現用戶註冊功能

【代碼學習】Spring MVC實現用戶註冊功能

技術分享 http請求 pac 應用 idea c-s dap 適配器 新建項目

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實現用戶註冊功能