码迷,mamicode.com
首页 > 其他好文 > 详细

前置控制器一DispatcherServlet

时间:2019-08-06 19:56:50      阅读:103      评论:0      收藏:0      [点我收藏+]

标签:职责   frame   特定   adapter   出错   前置   action   数据打包   control   

前言

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

标签:职责   frame   特定   adapter   出错   前置   action   数据打包   control   

原文地址:https://www.cnblogs.com/loveer/p/11311137.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!