Spring MVC的DispatcherServlet

Spring MVC提供了一个名为org.springframework.web.servlet.DispatcherServlet的Selvet充当前端控制器,所有的请求驱动都围绕这个DispatcherServlet来分派请求。

DispatcherServlet是一个Servlet(继承自HttpSerlvet基类),因此使用时需要把它配置在Web应用的部署描述web.xml中

 <servlet>
      <!-- Serlvet的名称 -->
    <servlet-name>springmvc</servlet-name>
    <!-- Serlvet对应的java类 -->
    <servlet-class>
            org.springframework.web.servlet.DispatcherServlet
    </servlet-class>
    <!-- 当前Serlvet的参数信息 -->
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>/WEB-INF/springmvc-config.xml</param-value>
    </init-param>
    <!-- 在Web应用启动时立即加载Serlvet -->
    <load-on-startup>1</load-on-startup>
  </servlet>
   <!-- 让Spring MVC的前端控制器拦截所有请求 -->
  <servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

该Servlet在Web应用程序启动时立即加载,DispatcherServlet加载时需要一个Spring MVC的配置文件,默认情况下,应用会去应用文件夹的WEB-INF下查找对应的[servlet-name]-servlet.xml文件(例如本例中的<serlvet-name>是springmvc,默认查找的是/WEB-INF/springmvc-serlvet.xml)

也可以把Spring MVC的配置文件放到应用程序文件夹的任何地方,用Serlvet元素的init-param子元素进行描述,本例的param-name元素的值contextConfigLocation表示参数名称,param-value元素的值/WEB-INF/springmvc-config.xml则表示Spring MVC的配置文件路径和名称。则DispatcherServlet会查找/WEB-INF/springmvc-config.xml文件,作为Spring MVC的配置文件。解析该文件内容并根据文件配置信息创建一个WebApplicationContext容器对象,也称为上下文环境。WebApplicationContext继承自ApplicationContext容器,它的初始化方式和BeanFactory,ApplicationContext 有所区别,因为WebApplicationContext需要SerlvetContext实例,它必须是在拥有Web容器的前提下才能完成启动Spring Web应用上下文的工作。有了WebApplicationContext容器,开发者就可以很自然的使用Spring IOC,AOP等其他功能。

原文地址:https://www.cnblogs.com/ZZUGPY/p/8390441.html

时间: 2024-10-10 23:31:45

Spring MVC的DispatcherServlet的相关文章

Spring MVC 之 DispatcherServlet

根据web.xml配置我们知道.DispatcherServlet这个类是Spring MVC的关键类.Spring的方法命名很有趣,在Spring进行DI注入的时候,也就是当Application调用getBean方法的时候.getBean方法调用的是doGetBean.而Spring MVC在处理request对象的时候调用的是doService方法.看这篇blog最好结合之前的blog:Spring MVC 之 @RequestMapping 1.doService – Spring MV

Spring MVC:DispatcherServlet

DispatcherServlet是SpringMVC的前端控制器,换句话说它是SpringMVC的入口.即所有的请求都要经过它才能流转,所以称它为中央控制器也是可以的.这篇博客想要讲的是,它作为中央控制器是如何流转或者说分发请求的. <servlet> <servlet-name>action</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet<

Spring MVC 配置文件dispatcher-servlet.xml 文件详解

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/sch

Spring学习总结(2.2)-Spring MVC:DispatcherServlet

DispatcherServlet是SpringMVC的前端控制器,换句话说它是SpringMVC的入口.即所有的请求都要经过它才能流转,所以称它为中央控制器也是可以的.这篇博客想要讲的是,它作为中央控制器是如何流转或者说分发请求的. 配置 <servlet> <servlet-name>action</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet

Spring MVC之DispatcherServlet初始化

今天在整合工作流activiti5.14时,部署到Tomcat中启动时看到console输出的信息中有如下信息, 2017-02-16 14:43:11,161 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] - Returning cached instance of singleton bean 'org.springframework.context.annotation.Config

Spring MVC 配置文件dispatcher-servlet.xml 文件详解(转自 学无止境-yj)

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/sch

spring mvc配置文件dispatcher-servlet.xml详解

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org

Spring MVC静态资源处理(转)

优雅REST风格的资源URL不希望带 .html 或 .do 等后缀.由于早期的Spring MVC不能很好地处理静态资源,所以在web.xml中配置DispatcherServlet的请求映射,往往使用 *.do . *.xhtml等方式.这就决定了请求URL必须是一个带后缀的URL,而无法采用真正的REST风格的URL. 如果将DispatcherServlet请求映射配置为"/",则Spring MVC将捕获Web容器所有的请求,包括静态资源的请求,Spring MVC会将它们当

[转]Spring MVC 教程,快速入门,深入分析

.前言二.spring mvc 核心类与接口三.spring mvc 核心流程图 四.spring mvc DispatcherServlet说明 五.spring mvc 父子上下文的说明 六.springMVC-mvc.xml 配置文件片段讲解 七.spring mvc 如何访问到静态的文件,如jpg,js,css 八.spring mvc 请求如何映射到具体的Action中的方法 九. spring mvc 中的拦截器:十. spring mvc 如何使用拦截器 十一. spring mv