MVC框架设计思路、功能特性以及插槽式实现
M表示Model、V表示View、C表示Controller
映射处理:
-
DispatcherServlet
DispatcherServlet < FrameworkServlet < HttpServletBean < HttpServlet
<表示extends
自动装配:
org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration.DispatcherServletConfiguration
@Controller
@RequestMapping
@RequestParam、@RequestBody使用方式及他们的关系
-
HandleMapping
HandleMapping 处理 Handler映射
HandleMapping 寻找Request URI,匹配Handler
HandleMapping ->RequestMappingHandlerMapping 可以理解为@RequestMapping、Handler、Mapping
handle是处理的方法
Request -> Handler -> 执行结果 -> 返回(REST)-> 普通的文本
Spring Web MVC的配置 Bean:WebMvcProperties
异常处理:
传统servlet web.xml错误页面
<error-page> 处理逻辑:
- 处理状态码 <error-code>
- 处理异常类型 <exception-type>
- 处理服务 <location>
Spring boot错误处理页面
- 实现ErrorPageRegistrar
- 注册ErrorPage对象
- 实现ErrorPage对象中的Path路径Web服务
Spring web MVC
@ExceptionHandler
优点:易于理解,尤其全局异常处理
不足:很难完全掌握所有类型
@RestControllerAdvice=@ControllerAdvice+@ResponseBody
@ControllerAdvice 专门拦截AOP@controller
视图技术:
View
render方法
处理页面渲染的逻辑,例如:Velocity、JSP、Thymeleaf
ViewResolver
view Resolver = 页面 + 解释器 -> resolveViewName
寻找合适/对应View对象
RequestURI->RequestMapping
网友评论