![](https://img-blog.csdnimg.cn/20200824162420754.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
SpringMVC源码解析
SpringMVC源码解析
AnEra
厚积薄发, 天道酬勤
展开
-
SpringMVC请求过程设计思路
在我们使用tomcat时, 通常会继承HttpServlet, 然后重写里面的doGet和doPost方法, 然后在web.xml配置请求路径与servlet处理类的映射示例一:public class AddItemServlet extends HttpServlet { protected void doGet(HttpServletRequest request, Htt...原创 2020-01-17 16:07:55 · 383 阅读 · 0 评论 -
SpringMVC源码解析一(在Spring源码项目中搭建SpringMVC源码模块)
1.在Spring源码项目中右键,新建一个Module模块, 在弹窗中选择Gradle, 并且勾选Java和Web2. 选择根目录并输入ArtifactId,点击确定3. 项目构建 3.1 配置build.gradleplugins { id 'java' id 'war'}group 'org.springframework'version...原创 2019-12-19 11:20:27 · 1220 阅读 · 0 评论 -
SpringMVC源码解析二(请求过程解析)
当服务器接收到从浏览器发送的一个请求后, 首先进入HttpServlet#service()方法中, 想要了解请求进入service()方法之前的逻辑请看这篇博客:Tomcat源码解析六(Http请求过程解析_基于NIO)HttpServlet#service()方法实现:@Overridepublic void service(ServletRequest req, Servle...原创 2019-12-23 15:55:30 · 615 阅读 · 0 评论 -
SpringMVC源码解析三(处理映射器HandlerMapping的解析)
HandlerMapping继承关系图:1.BeanNameUrlHandlerMapping配置文件中配置controller的bean,且bean的id必须以“/”开头,id就是controller可以处理的url<bean id = "/hello" class="com.liyao.controller.HelloController"/>2.Simple...原创 2019-12-23 17:00:58 · 809 阅读 · 0 评论 -
SpringMVC源码解析四(处理适配器HandlerAdapter的解析)
HandlerAdapter继承关系图:DispatcherServlet#getHandlerAdapter()方法实现:protected HandlerAdapter getHandlerAdapter(Object handler) throws ServletException { if (this.handlerAdapters != null) { ...原创 2019-12-24 10:39:28 · 813 阅读 · 0 评论 -
SpringMVC源码解析五(HandlerMethod执行过程解析)
在获取HandlerMethodAdapter适配器之后, 调用适配器的handle()方法执行处理器, 也就是Control类中我们编写的处理方法AbstractHandlerMethodAdapter#handle()方法实现:@Override@Nullablepublic final ModelAndView handle(HttpServletRequest requ...原创 2019-12-25 19:18:12 · 998 阅读 · 0 评论 -
SpringMVC源码解析六(ModelAndView解析)
在上一篇博客中解析到在InvocableHandlerMethod#doInvoke()中通过反射执行处理方法, 返回值为ModelAndView实例InvocableHandlerMethod#doInvoke()方法调用链:在RequestMappingHandlerAdapter#invokeHandlerMethod()方法中主要完成了两件事:执行处理器方法(Handle...原创 2019-12-26 11:12:47 · 977 阅读 · 0 评论 -
SpringMVC源码解析七(初始化过程解析)
在SpringMVC中处理请求的核心类是DispatcherServlet; SpringMVC在DispatcherServlet类的doDispatch()中维护着请求处理流程的主要逻辑DispatcherServlet的继承关系图:SpringMVC初始化的触发点:SpringMVC的初始化是从HttpServletBean#init()开始的;Tomcat在启动时最终会...原创 2019-12-26 19:30:37 · 718 阅读 · 1 评论