org.springframework.web.servlet.DispatcherServlet

前言

DispatcherServlet是SpringMVC的核心控制器,就像是SpringMVC的心脏,几乎所有的请求都会经过这个控制器,通过它,大大的降低了模块之间的耦合度。

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

    1. DispatcherServlet会查询一个或多个处理器映射(handler mapping)并根据请求所携带的URL信息进行决策,将请求发送给哪个SpringMVC控制器 (controller);
    2. 控制器做两件事:一是将数据打包,二是定义逻辑视图名,然后返回给DispatcherServlet;
    3. DispatcherServlet通过视图解析器(view resolver)来将逻辑视图名匹配为一个特定的视图实现,它可能是也可能不是JSP;
  • DispatcherServlet初始化主要做了如下两件事情:

    1. 初始化SpringMVC使用的Web上下文,并且可能指定父容器为(ContextLoaderListener加载了根上下文);
    2. 初始化DispatcherServlet使用的策略,如HandlerMapping、HandlerAdapter等。

1.配置DispatcherServlet(web.xml)

<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springconfig.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet> <servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

2.路径配置

  1. /*之类的不能写,访问啥都出错
  2. /的形式全部拦截,访问静态资源会出错

    3.*.do拦截Action请求

3.过滤静态资源(springmvc.xml)

方法1

<mvc:default-servlet-handler/>

方法2

<mvc:resources location="/images/" mapping="/images/**"></mvc:resources>
  • location表示静态资源所在的目录,包含WEB-INF目录及其子目录。
  • mapping表示对该资源的请求。后面是两个星号*

前置控制器一DispatcherServlet的更多相关文章

  1. spring mvc(前置控制器)(转载)

    (此文转载:http://www.cnblogs.com/brolanda/p/4265749.html) 一.前置控制器配置与讲解 上篇中理解了IOC容器的初始化时机,并理解了webApplicat ...

  2. DispatcherServlet--Spring的前置控制器作用简介

    参考网址:http://jinnianshilongnian.iteye.com/blog/1602617 Struts有一个ActionServlet,用来完成前置控制器(分发器)的功能.其实,所有 ...

  3. Spring-MVC理解之二:前置控制器

    原文链接:http://www.cnblogs.com/brolanda/p/4265749.html 一.前置控制器配置与讲解 上篇中理解了IOC容器的初始化时机,并理解了webApplicatio ...

  4. DispatcherServlet 前置控制器

    1.DispatcherServlet作用 DispatcherServlet是前端控制器设计模式的实现,提供Spring Web MVC的集中访问点,而且负责职责的分派,而且与Spring IoC容 ...

  5. SpingMVC前置控制器过滤问题

    /<servlet-mapping> <servlet-name>Springmvc</servlet-name> <url-pattern>/< ...

  6. SpringMVC前置控制器SimpleUrlHandlerMapping配置

    1. <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5&qu ...

  7. SpringMVC配置讲解(一)

    SpringMVC 核心类和接口 DispatcherServlet   -- 前置控制器 在DispatcherServlet的初始化过程中,框架会在web应用的 WEB-INF文件夹下寻找名为[s ...

  8. spring mvc DispatcherServlet详解之前传---前端控制器架构

    前端控制器是整个MVC框架中最为核心的一块,它主要用来拦截符合要求的外部请求,并把请求分发到不同的控制器去处理,根据控制器处理后的结果,生成相应的响应发送到客户端.前端控制器既可以使用Filter实现 ...

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

    SpringMVC是非常优秀的MVC框架,每一个框架都是为了我们提高开发效率,我们试图通过对SpringMVC的源码去了解这个框架,了解整个设计思想,框架要有扩展性,这里用的比較多是接口和抽象,是框架 ...

随机推荐

  1. python中关于is,=和==的区别

    在Python中 '='相当于赋值 '=='相当于等号两边的值相同 is则是表示两边的id,也就是内存地址相同

  2. 【代码健壮性】善用data-属性来关联,慎用parent()之类的查找结构

    $(".minus,target").unbind().click(function(){ console.log(this); var $thisParent = $(this) ...

  3. Android jniLibs下目录详解(.so文件)

    http://www.jianshu.com/p/b758e36ae9b5 最近又研究了一下,参考了一下:三星/联发科等处理器规格表 更新时间:2017年5月手机CPU架构体系分类及各大厂商 PS:我 ...

  4. Java中几种排序算法

    1.冒泡排序算法 通过多次比较(相邻两个数)和交换来实现排序 public class bubble { public static void bubbleSort(int[] a) { int te ...

  5. Java自定义注解Annotation的使用

    从 jdk5开始,Java增加了对元数据的支持,也就是Annotation,Annotation其实就是对代码的一种特殊标记,这些标记可以在编译,类加载和运行时被读取,并执行相应的处理.当然刚刚说了, ...

  6. h5移动端局部放大效果

    首先添加zoom.js (function (root, factory) { if (typeof exports === 'object' && typeof module === ...

  7. 学习android文档

    follow lesson, 一. 创建一helloworld,运行.fragment_main.xml里默认是relativeLayout和Textview 二. 创建第一个图形界面,主要是说fra ...

  8. [SDOI2015]排序 题解 (搜索)

    Description 小A有一个1-2^N的排列A[1..2^N],他希望将A数组从小到大排序,小A可以执行的操作有N种,每种操作最多可以执行一次,对于所有的i(1<=i<=N),第i中 ...

  9. 海外版本Google登录

    海外版本: 1.安裝谷歌安裝器:手机浏览器搜索“谷歌安装器”,安装酷安的好一些,地址: https://www.coolapk.com/apk/com.goplaycn.googleinstall 2 ...

  10. Dubbo入门到精通学习笔记(六):持续集成管理平台之Hudson 持续集成服务器的安装配置与使用

    文章目录 安装Hudson 使用Hudson tips:自动化部署 附录:两个脚本 安装Hudson IP:192.168.4.221 8G 内存(Hudson 多个工程在同时构建的情况下比较耗内存) ...