DispatcherServlet源码分析

原创 2018年04月16日 19:30:54

       首先,我们知道DispatcherServlet是前端控制器,是用来处理请求的,同时他也是一个Servlet,在初始化时,也是做了相关工作的。在Servlet调用init(),方法方法是,会回调DispatcherServlet的onRefresh方法,做相关初始化工作,比如:初始化本地化解析器,Handler映射器,Handler适配器等,为后面处理请求时,做准备工作。Servlet在接收请求时,首先调用service方法,然后回调DispatcherServlet的doDispatch方法,做如下图处理:


这里主要有2个接口:

HandlerMapping接口:

其实现类:BeanNameUrlHandlerMapping  ControllerBeanNameHandlerMapping   ControllerClassNameHandlerMapping    RequestMappingHandlerMapping  SimpleUrlHandlerMapping,其中RequestMappingHandlerMapping就是我们常用的。


HandlerAdapter接口:

其实现类:HttpRequestHandlerAdapter    RequestMappingHandlerAdapter    SimpleControllerHandlerAdapter   SimpleServletHandlerAdapter,其中HttpRequestHandlerAdapter就是我们常用的。    

SpringMVC工作原理解读--DispatcherServlet类源码解读(初级)

我这里先通读一下DispatcherServlet的代码,首先知道各个部分是什么用处,后面再次进行串联的讲解。一开始我可能也讲的不是很明白,但是时间久了我觉得自然而然的就明白了。读者可以发布自己的意见...
  • wangyang1354
  • wangyang1354
  • 2016-07-22 22:18:19
  • 3252

springMVC源码分析--DispatcherServlet请求获取及处理

在之前的博客 springMVC源码分析--容器初始化(二)DispatcherServlet中我们介绍过DispatcherServlet,是在容器初始化过程中出现的,我们之前也说过Dispatch...
  • qq924862077
  • qq924862077
  • 2016-12-08 20:38:05
  • 1722

SpringMVC源码深度分析DispatcherServlet核心的控制器(初始化)

SpringMVC是非常优秀的MVC框架,每个框架都是为了我们提高开发效率,我们试图通过对SpringMVC的源代码去了解这个框架,了解整个设计思想,框架要有扩展性,这里用的比较多是接口和抽象,是框架...
  • congcong68
  • congcong68
  • 2014-10-25 11:29:16
  • 5179

详解spring-MVC DispatcherServlet初始化

DispatcherServlet要是用过springmvc应该都知道这个的重要性,在我们的web.xml文件中会配置这个Servlet相当于我们springmvc中央处理器。   我们这里详细分析...
  • li563868273
  • li563868273
  • 2016-03-26 19:55:16
  • 365

Spring 源码解析之DispatcherServlet源码解析(五)

Spring 源码解析之DispatcherServlet源码解析(五)前言 本文需要有前四篇文章的基础,才能够清晰易懂,有兴趣可以先看看详细的流程,这篇文章可以说是第一篇文章,也可以说是前四篇文...
  • veZunShao
  • veZunShao
  • 2016-05-30 22:27:22
  • 6453

SpringMVC源码分析(1):分析DispatcherServlet.doDispatch方法,了解总体流程

所有的http请求都会交给DispatcherServlet类的doDispatch方法进行处理,将DispatcherServlet.doDispatch函数的javadoc复制到下面: /* ...
  • u010233323
  • u010233323
  • 2016-09-12 17:53:44
  • 750

SpringMVC源码之解读DispatcherServlet初始化流程

SpringMVC的配置流程并不复杂,但每个步骤所涉及的东西比较多,一不小心配错可就糟糕了。但这参与感十足的配置方式除了它的灵活性外,也能让我们更加清楚框架在为我们服务之前,到底做了哪些事情,接下来我...
  • Roderick2015
  • Roderick2015
  • 2016-10-18 09:52:09
  • 1155

Spring源码分析: SpringMVC启动流程与DispatcherServlet请求处理流程

Spring版本: 4.0.X 注:这里的分析只关注整个处理流程的大致过程,省略与流程无关的代码。应用根上下文(Root ApplicationContext)的启动在一个web项目中使用Sprin...
  • tracker_w
  • tracker_w
  • 2015-03-11 23:54:20
  • 2018

springMVC源码分析--HandlerAdapter(一)

HandlerAdapter的功能实际就是执行我们的具体的Controller、Servlet或者HttpRequestHandler中的方法。类结构如下:HandlerAdapter的接口中定义了三...
  • qq924862077
  • qq924862077
  • 2016-12-23 19:41:30
  • 2034

springmvc 学习笔记--DispatcherServlet 源码分析

1、springmvc的控制器           DispatcherServlet 是继承 FrameworkServlet ,FrameworkServlet继承FrameworkServlet...
  • hyylcz4
  • hyylcz4
  • 2016-08-12 09:59:52
  • 110
收藏助手
不良信息举报
您举报文章:DispatcherServlet源码分析
举报原因:
原因补充:

(最多只允许输入30个字)