1. 程式人生 > >SpringMvc框架原理簡述

SpringMvc框架原理簡述

MVC 設計模式

M:model   ===>      service / dao / 模型類

V:view     ===>       jsp檢視 / json

C:Controller ===>  servlet

Spring MVC 核心流程

1.傳送請求到前端控制器(DispatcherServlet)

2.委託給後端控制器(Controller)

3.訪問Model層,返回model資料

4.後端控制器返後ModelAndView

5.DispatcherServlet根據ModelAndView查詢到對相應的View並渲染

6.相應渲染後的結果給使用者

SpringMVC的功能特性

引數繫結,格式轉換

引數校驗(JSR303 hibernate-validator實現)

全域性處理

@ControllerAdvice

@ExceptionHandler

檔案上傳

新增依賴

bean:multipartResolver

form表單:

input type=file

enctype="multipart/form-data"

method="post"

Controller方法引數含有MulitpartFile 變數名為input的name

restful

路徑引數@PathVariable

@RestController:

@RestController註解相當於@ResponseBody + @Controller合在一起的作用。

1) 如果只是使用@RestController註解Controller,則Controller中的方法無法返回jsp頁面,或者html,配置的檢視解析器 InternalResourceViewResolver不起作用,返回的內容就是Return 裡的內容。

2) 如果需要返回到指定頁面,則需要用 @Controller配合檢視解析器InternalResourceViewResolver才行。
    如果需要返回JSON,XML或自定義mediaType內容到頁面,則需要在對應的方法上加上@ResponseBody註解。