Spring MVC源码
大·风
想起来什么就写点什么。
展开
-
springMVC源码简读——序章
代码这次是最近开始学习的一个比较老的工具,但是也是我们现在在用而且使用比较多的组件,springMVC。和之前一样并不算什么高端源码分析,只能算是个人的学习笔记,所以只能叫做简单的阅读。官方仓库地址:https://github.com/spring-projects/spring-framework本人学习时源码地址:https://gitee.com/daifylearn/spri...原创 2019-05-18 23:05:39 · 151 阅读 · 0 评论 -
springMVC源码简读——2.7 ThemeResolver 和 LocaleResolver
ThemeResolver概述提供动态样式的业务逻辑,这个以前用的就不多,现在前后端分离的趋势下更是少见。类图接口public interface ThemeResolver { /** * 从请求中,解析出使用的主题。例如,从请求头 User-Agent ,判断使用 PC 端,还是移动端的主题 */ String resolveThemeName(HttpServl...原创 2019-05-26 23:45:51 · 337 阅读 · 0 评论 -
springMVC源码简读——2.6 FlashMapManager
概述FlashMap 管理器接口,负责重定向时,保存参数到临时存储中类图接口public interface FlashMapManager { /** * 恢复参数,并将恢复过的和超时的参数从保存介质中删除 */ @Nullable FlashMap retrieveAndUpdate(HttpServletRequest request, HttpServletR...原创 2019-05-26 23:39:52 · 241 阅读 · 0 评论 -
springMVC源码简读——2.5 RequestToViewNameTranslator
概述 (RequestToViewNameTranslator)解决请求到视图名称的业务逻辑接口 (RequestToViewNameTranslator)public interface RequestToViewNameTranslator { /** * 根据请求,获得其视图名 */ @Nullable String getViewName(HttpServletReq...原创 2019-05-25 21:56:00 · 254 阅读 · 0 评论 -
springMVC源码简读——2.4 HandlerExceptionResolver
概述处理器异常解析器接口,将处理执行时发生的异常,解析成对应的 ModelAndView 结果顶级接口public interface HandlerExceptionResolver { /** * 解析异常,转换成对应的 ModelAndView 结果 */ @Nullable ModelAndView resolveException( HttpServletRe...原创 2019-05-25 21:09:18 · 229 阅读 · 0 评论 -
springMVC源码简读——2.3 HandlerAdapter 的解析器
概述HandlerAdapter是其顶级接口,主要负责处理器适配的功能,顶级接口public interface HandlerAdapter { /** * 是否支持该处理器 */ boolean supports(Object handler); /** * 执行处理器,返回 ModelAndView 结果 */ ...原创 2019-05-23 00:21:11 · 226 阅读 · 0 评论 -
springMVC源码简读——2.2 HandlerMapping的解析器(下)
下主要介绍的是基于方法的接口实现类,以及对应的拦截器实现类-基于 Method 进行匹配AbstractHandlerMethodMapping继承 AbstractHandlerMapping 抽象类,以 Method 作为 Handler 的 HandlerMapping 抽象类,提供 Mapping 的初始化、注册等通用的骨架方法构造方法// AbstractHandler...原创 2019-05-21 23:41:43 · 378 阅读 · 0 评论 -
springMVC源码简读——2.2 HandlerMapping的解析器(上)
整理完之后发现放在一章太长了,于是截断了。上:主要是介绍HandlerMapping 接口、抽象实现类、以及基于URL实现业务的HandlerMapping概述顶级接口处理器匹配接口,根据请求( handler )获得其的处理器( handler )和拦截器们( HandlerInterceptor 数组 )其顶级接口是 public interface HandlerMappi...原创 2019-05-21 23:35:37 · 376 阅读 · 0 评论 -
springMVC源码简读——2.1 MultipartResolver的解析器
解析器的概述MultipartResolver 接口的主要作用是:将内容类型( Content-Type )为 multipart/* 的请求的解析器接口。文件上传请求,MultipartResolver 会将 HttpServletRequest 封装成 MultipartHttpServletRequest接口代码// MultipartResolver.javapublic int...原创 2019-05-21 00:11:31 · 640 阅读 · 0 评论 -
springMVC源码简读——1.2 Servlet WebApplicationContext 容器
概述这一篇开始介绍 Servlet主要是DispatcherServlet 的初始化曾经的配置回到之前的配置中,我们看看,Servlet的初始化主要是在org.springframework.web.servlet.DispatcherServlet类中 <!--Spring MVC配置--> <servlet> <servlet-name>s...原创 2019-05-19 21:29:58 · 280 阅读 · 0 评论 -
springMVC源码简读——1.1 Root WebApplicationContext 容器
容器概述最开始我们没有使用springboot的时候,还在使用web.xml进行配置的时候,就是在web中配置spring的参数来实现servlet和springMVC的集成。一份古老的web.xml配置<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun...原创 2019-05-18 23:08:16 · 323 阅读 · 0 评论 -
springMVC源码简读——3.1 请求处理
处理请求入口方法mvc整个请求的过程graph TDA(用户) -->|1发送请求| B(DispatcherServlet)B --> |2映射处理器| C(HandlerMapping)C --> |3返回拦截器和处理器|BB --> |4处理器适配| D(HandlerAdapter)D --> |5调用处理器方法| E(处理器)...原创 2019-05-28 00:31:46 · 174 阅读 · 0 评论