美文网首页
springmvc源码笔记

springmvc源码笔记

作者: 爱斯基摩白 | 来源:发表于2020-03-18 09:47 被阅读0次

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

视图解析:


国际化:利用locale技术,实现视图内容的国际化


参考文献:https://docs.spring.io/spring/docs/5.2.4.RELEASE/spring-framework-reference/web.html#mvc-exceptionhandlers

相关文章

网友评论

      本文标题:springmvc源码笔记

      本文链接:https://www.haomeiwen.com/subject/ekhnehtx.html