美文网首页
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