DispatcherServlet的作用

  DispatcherServlet是前端控制器设计模式的实现,提供Spring Web MVC的集中访问点,而且负责职责的分派,而且与Spring IoC容器无缝集成,从而可以获得Spring的所有好处;

        

  DispatcherServlet主要用作职责调度工作,本身主要用于控制流程,主要职责如下:

  1、文件上传解析,如果请求类型是multipart将通过MultipartResolver进行文件上传解析;

  2、通过HandlerMapping,将请求映射到处理器(返回一个HandlerExecutionChain,它包括一个处理器、多个HandlerInterceptor拦截器);

  3、通过HandlerAdapter支持多种类型的处理器(HandlerExecutionChain中的处理器);

  4、通过ViewResolver解析逻辑视图名到具体视图实现;

  5、本地化解析;

  6、渲染具体的视图等;

  7、如果执行过程中遇到异常将交给HandlerExceptionResolver来解析。

  从以上我们可以看出DispatcherServlet主要负责流程的控制(而且在流程中的每个关键点都是很容易扩展的)。

  DispatcherServlet在web.xml中的配置

<servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

 load-on-startup元素标记容器是否在启动的时候就加载这个servlet(实例化并调用其init()方法),他的值是一个整数,表示这个servlet加载的顺序。

url-pattern表示哪些请求交给Spring Web MVC处理, “/” 是用来定义默认servlet映射的。也可以如“*.html”表示拦截所有以html为扩展名的请求。

      摘自Spring Reference


参数


描述


contextClass


实现WebApplicationContext接口的类,当前的servlet用它来创建上下文。如果这个参数没有指定, 默认使用XmlWebApplicationContext。


contextConfigLocation


传给上下文实例(由contextClass指定)的字符串,用来指定上下文的位置。这个字符串可以被分成多个字符串(使用逗号作为分隔符) 来支持多个上下文(在多上下文的情况下,如果同一个bean被定义两次,后面一个优先)。


namespace


WebApplicationContext命名空间。默认值是[server-name]-servlet

<servlet>
        <servlet-name>chapter2</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring-servlet-config.xml</param-value>
        </init-param>
    </servlet>

   如上配置,Spring Web MVC框架将加载“classpath:spring-servlet-config.xml”来进行初始化上下文而不是“/WEB-INF/[servlet名字]-servlet.xml”。

时间: 2024-12-12 04:27:42

DispatcherServlet的作用的相关文章

Spring MVC的核心控制器DispatcherServlet的作用

关于Spring MVC的核心控制器DispatcherServlet的作用,以下说法错误的是(  )? 它负责接收HTTP请求 加载配置文件 实现业务操作 初始化上下应用对象ApplicationContext SpringMVC是Spring中的模块,它实现了mvc设计模式,首先用户发起请求,请求到达SpringMVC的前端控制器(DispatcherServlet),前端控制器根据用户的url请求处理器映射器查找匹配该url的handle,并返回一个执行链,前端控制器再请求处理器适配器调用

详解Spring MVC 4之DispatcherServlet

Spring MVC 4与其它MVC框架类似,都是基于请求驱动的,通过中央Servlet处理器,将请求转发到控制器然后完成相应的功能.Spring的 DispatcherServlet与其它MVC框架不同的是,它与Spring的IoC容器集成并允许用户使用Spring的其它特性.     1. DispatcherServlet的作用 Spring MVC 4的工作流如下图所示.DispatcherServlet充当了"前端控制器"的角色. DispatcherServlet实际上就是

6.理解DispatcherServlet

DispatcherServlet的作用 DispatcherServlet是前端控制器设计模式的实现,提供Spring Web MVC的集中访问点,负责职责的分派, 且与Spring IoC容器无缝集成,从而可以获得Spring的所有好处.DispatcherServlet主要用作职责调度,用于控制流程,主要职责如下1.文件上传解析,如果请求类型是multipart将通过MultipartResolver进行文件上传解析:2.通过HandlerMapping,将请求映射到处理器(返回一个Han

Spring MVC 4之DispatcherServlet转发器

Spring MVC 4与其它MVC框架类似,都是基于请求驱动的,通过中央Servlet处理器,将请求转发到控制器然后完成相应的功能.Spring的 DispatcherServlet与其它MVC框架不同的是,它与Spring的IoC容器集成并允许用户使用Spring的其它特性. 1. DispatcherServlet的作用 Spring MVC 4的工作流如下图所示.DispatcherServlet充当了"前端控制器"的角色. DispatcherServlet实际上就是一个Se

springmvc之DispatcherServlet

前言 最近打算利用闲暇的时间从零写个springmvc项目,工作中的项目框架都是搭好的,写业务逻辑多些,所以开始就一路磕磕碰碰.快半个月了项目还没搭起来.对底层和框架了解的太少了,趁此机会把遇到的问题都好好研究一下并记录下来,供以后学习用.希望文中有不对的或是不严谨的地方还请不吝赐教,感谢!!! 正文 1.什么DispatcherServlet 与许多其他的web框架一样,SpringMvc是围绕前端控制器模式设计的,在这一模式中DispatcherServlet,为请求处理提供了一种共享的算法

SpringMVC核心分发器DispatcherServlet分析[附带源码分析]

SpringMVC核心分发器DispatcherServlet分析[附带源码分析] 目录 前言 DispatcherServlet初始化过程 DispatcherServlet处理请求过程 总结 参考资料 前言 SpringMVC是目前主流的Web MVC框架之一. 如果有同学对它不熟悉,那么请参考它的入门blog:http://www.cnblogs.com/fangjian0423/p/springMVC-introduction.html 本文将分析SpringMVC的核心分发器Dispa

理解DispatcherServlet

DispatcherServlet的作用 DispatcherServlet在Web.xml中的配置 上下文关系 DispatcherServlet初始化顺序 DispatcherServlet中使用的特殊的Bean 1      DispatcherServlet的作用 DispatcherServlet是前端控制器设计模式的实现,提供Spring Web MVC的集中访问点,负责职责的分派,且与Spring IoC容器无缝集成,从而可以获得Spring的所有好处. DispatcherSer

SpringMVC核心分发器DispatcherServlet分析

本文将分析SpringMVC的核心分发器DispatcherServlet的初始化过程以及处理请求的过程,让读者了解这个入口Servlet的作用. DispatcherServlet初始化过程 在分析DispatcherServlet之前,我们先看下DispatcherServlet的继承关系. HttpSerlvetBean继承自HttpServlet. HttpServletBean覆写了init方法,对初始化过程做了一些处理. 我们来看下init方法到底做了什么: <servlet> &

Spring mvc 基本原理

Spring web mvc框架原理   题记——:   越努力越幸运,感谢缘分让我结识了一帮朋友,感谢你们的鼓励与支持,没有压力就没有突破,这是我第一次写博客,希望能以这种方式和大家分享技术,同时也鼓励自己不断进步!   1今天和大家分享的是Spring mvc框架的相关知识: 1.1什么是Springmvc Spring mvc 是Spring框架的一个模块,Springmvc和Spring不需要通过中间整合层进行整合,Springmvc 就是基于mvc这种开发模式的一种web框架. 1.2