zoukankan      html  css  js  c++  java
  • 前置控制器一DispatcherServlet

    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表示对该资源的请求。后面是两个星号*
  • 相关阅读:
    mdk3 工具使用-表白神器
    Crunch黑客神器-创造个性字典
    centos 自动挂载ISO
    渗透测试工具Nmap从初级到高级
    mui 点击长按复制文本
    JavaScript倒计时并刷新页面
    javascript单一复制粘贴
    jquery定义链接跳转的高亮显示
    JS判断移动端访问设备并加载对应CSS样式
    jquery刷新数据随机排列
  • 原文地址:https://www.cnblogs.com/loveer/p/11311137.html
Copyright © 2011-2022 走看看