SpringMVC初写(六)静态资源设置

本文介绍如何在SpringMVC中配置无后缀请求,通过修改<url-pattern>/</url-pattern>使DispatchServlet能正确处理无后缀请求,同时保持对静态资源的正常访问。

众所周知,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/>标签

转载于:https://www.cnblogs.com/lch-Hao/p/10770650.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值