MVC框架設(shè)計思路、功能特性以及插槽式實現(xiàn)
M表示Model欢峰、V表示View葬荷、C表示Controller
映射處理:
-
DispatcherServlet
DispatcherServlet < FrameworkServlet < HttpServletBean < HttpServlet
<表示extends
自動裝配:
org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration.DispatcherServletConfiguration
@Controller
@RequestMapping
@RequestParam、@RequestBody使用方式及他們的關(guān)系
-
HandleMapping
HandleMapping 處理 Handler映射
HandleMapping 尋找Request URI纽帖,匹配Handler
HandleMapping ->RequestMappingHandlerMapping 可以理解為@RequestMapping宠漩、Handler、Mapping
handle是處理的方法
Request -> Handler -> 執(zhí)行結(jié)果 -> 返回(REST)-> 普通的文本
Spring Web MVC的配置 Bean:WebMvcProperties
異常處理:
傳統(tǒng)servlet web.xml錯誤頁面
<error-page> 處理邏輯:
- 處理狀態(tài)碼 <error-code>
- 處理異常類型 <exception-type>
- 處理服務(wù) <location>
Spring boot錯誤處理頁面
- 實現(xiàn)ErrorPageRegistrar
- 注冊ErrorPage對象
- 實現(xiàn)ErrorPage對象中的Path路徑Web服務(wù)
Spring web MVC
@ExceptionHandler
優(yōu)點:易于理解懊直,尤其全局異常處理
不足:很難完全掌握所有類型
@RestControllerAdvice=@ControllerAdvice+@ResponseBody
@ControllerAdvice 專門攔截AOP@controller
視圖技術(shù):
View
render方法
處理頁面渲染的邏輯哄孤,例如:Velocity、JSP吹截、Thymeleaf
ViewResolver
view Resolver = 頁面 + 解釋器 -> resolveViewName
尋找合適/對應(yīng)View對象
RequestURI->RequestMapping