SpringMVC總結

大綱:

1.SpringMVC架構以及組件

2.參數綁定

3.高級參數綁定

4.@Requestmapping註解的使用

5.Controller方法返回值

6.SpringMVC中異常處理

7.圖片上傳處理

8.Json數據交互

9.SpringMVC實現Restfull

10.攔截器

1.SpringMVC架構以及組件

架構圖見自己總結
1、 用戶發送請求至前端控制器DispatcherServlet
2、 DispatcherServlet收到請求調用HandlerMapping處理器映射器。
3、 處理器映射器根據請求url找到具體的處理器,生成處理器對象及處理器攔截器(如果有則生成)一併返回 給DispatcherServlet。
4、 DispatcherServlet通過HandlerAdapter處理器適配器調用處理器
5、 執行處理器(Controller,也叫後端控制器)。
6、 Controller執行完成返回ModelAndView
7、 HandlerAdapter將controller執行結果ModelAndView返回給DispatcherServlet
8、 DispatcherServlet將ModelAndView傳給ViewReslover視圖解析器
9、 ViewReslover解析後返回具體View
10、 DispatcherServlet對View進行渲染視圖(即將模型數據填充至視圖中)。
11、 DispatcherServlet響應用戶

核心組件說明:

HandlerMapping:處理器映射器。
HandlAdapter:處理器適配器。
View Resolver:視圖解析器。
說明:在springmvc的各個組件中,處理器映射器、處理器適配器、視圖解析器稱爲springmvc的三大組件。需要用戶開放的組件有handler、view。

配置文件需要配置springmvc.xml以及web.xml中配置前端控制器。

2.參數綁定

默認支持的參數類型:包括:HttpServletRequest、HttpServletResponse、HttpSession、Model四種
基本數據類型:推薦使用包裝類型。
pojo類型:
自動以參數綁定:比如日期類型需要自定義轉換器。
解決get和post亂碼問題件文檔。

3.高級參數綁定

a) 數組類型的參數綁定
b) List類型的綁定
在VO中添加數組或者集合即可。
public class QueryVo {
//商品對象
private Items items;
//訂單對象…
//用戶對象….

//批量刪除使用,使用數組
private Integer[] ids;

//批量刪除使用,使用List
private List<Items> itemsList;



public List<Items> getItemsList() {
    return itemsList;
}

public void setItemsList(List<Items> itemsList) {
    this.itemsList = itemsList;
}

public Integer[] getIds() {
    return ids;
}

public void setIds(Integer[] ids) {
    this.ids = ids;
}

public Items getItems() {
    return items;
}

public void setItems(Items items) {
    this.items = items;
}

}

4.@Requestmapping註解的使用

在類上面添加此註解:窄化請求映射。相當於URl中多了一層目錄。

5.Controller方法返回值

  1. 返回ModelAndView:對象中可添加model數據、指定view
  2. 返回字符串:返回view的邏輯視圖名稱。
  3. 返回void:
    3.1、使用request轉向頁面,如下:
    request.getRequestDispatcher(“頁面路徑”).forward(request, response);
    3.2、也可以通過response頁面重定向:
    response.sendRedirect(“url”)

6.SpringMVC中異常處理:全局異常處理

7.圖片上傳處理

8.Json數據交互

@RequestBody:接收http請求的json數據,將json數據轉換爲java對象。
@ResponseBody:將controller方法返回對象轉換爲json響應給客戶端。
注意:如果使用 則不用做其他的額外的配置。

9.SpringMVC實現Restfull

Restfull:Restful就是一個資源定位及資源操作的風格。不是標準也不是協議,只是一種風格,是對http協議的詮釋。要求url中不能有.action,沒有動詞,只有名詞,沒有?傳參。

10.攔截器

多用於權限控制,比如登錄。具體內容及配置見代碼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章