zoukankan      html  css  js  c++  java
  • SpringMVC初写(六)静态资源设置

    众所周知,SpringMVC的DispatchServlet是不可以以/*规则拦截请求的,否则会将JSP都拦截了,但有时候我们的请求路径是不能有后缀(Resful风格的接口需要),基于上述情况,我们可以将web.xml中的路径配置文件改为<url-pattern>/</url-pattern>

    /*和/的区别:

    /*表示拦截所有的东西,包含动态页面和静态资源,/表示拦截所有的静态资源(html,css,js...)以及请求,除了动态页面(jsp)的其他东西

    SpringMVC框架对于实现无后缀请求的解决方案是修改<url-pattern>/</url-pattern>的定义,使<url-pattern>/</url-pattern>也可以让拦截的请求访问静态资源

    流程:

      1.在web.xml中对<url-pattern>/</url-pattern>进行配置

      

    <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:spring-mvc.xml</param-value>
        </init-param>
      </servlet>
      <servlet-mapping>
        <servlet-name>dispatcherServlet</servlet-name>
        <url-pattern>/</url-pattern>
      </servlet-mapping>

      2.对SpringMVC进行配置,指定开放的静态资源映射

    <mvc:annotation-driven></mvc:annotation-driven>
        <!-- 方案1:一个个目录放开
        <mvc:resources>标签可以放开单个静态资源目录的访问
        mapping:指定访问的映射路径
        location:指定放开的静态资源文件目录
         -->
        <mvc:resources location="/img/" mapping="/img/**"></mvc:resources>
        <!-- 方案2:一次性放开所有的静态资源文件目录 -->
        <mvc:default-servlet-handler/>

    注:使用<mvc:**>类的标签必须要先配置<mvc:annotation-driven/>标签

  • 相关阅读:
    python正则表达式
    pyperclip模块
    python画国旗
    linux6.5禁用telnet
    限制用户su到root
    按系统日期生成目录
    微软windows logo配色rgb
    fastclick使用与 fastclick ios11.3相关bug原因(ios输入框点击变得不灵敏,ios input失焦后,页面上移,点击不了)
    vue iframe嵌套页面高度自适应 (ios 宽度扩大的bug , ios展示比例问题)
    iOS设备 微信h5页面回退 内容不刷新的问题
  • 原文地址:https://www.cnblogs.com/lch-Hao/p/10770650.html
Copyright © 2011-2022 走看看