zoukankan      html  css  js  c++  java
  • Spring MVC配置静态资源的正常访问

      SpringMVC如果过滤器过滤范围配置了/或者/*,那么框架会过滤所有请求,包括自己写的请求和静态资源请求,这样静态资源就不能正常加载,包括js文件、css文件、图片资源访问的时候都会出现404页面,下面就来配置不过滤静态资源的方法

      第一种方法是最原生的,因为开始Spring核心过滤器过滤的路径是项目下所有路径,这个时候要改成过滤指定后缀即可,比如*.do,*.html等后缀,这样自己编写controller的时候全部主动设置请求为特定后缀,这样静态资源和编写的请求就可以区分开了

      第二种方法是如果我们打算编写没有后缀的请求,比如/hello这种,上面方法是有限制的,所以这个时候SpringMVC还是过滤/*这样的全部请求,我们在web.xml中配置静态资源优先过滤,这个时候服务器首先加载web.xml提前拦截静态资源请求,然后SpringMVC过滤器就拦截不到这些请求了,所以tomcat就可以正常使用静态资源了,在web.xml中添加如下配置,前后均可:

     1   <servlet-mapping>
     2       <servlet-name>default</servlet-name>
     3       <url-pattern>*.jpg</url-pattern>
     4   </servlet-mapping>
     5   <servlet-mapping>
     6       <servlet-name>default</servlet-name>
     7     <url-pattern>*.js</url-pattern>
     8   </servlet-mapping>
     9   <servlet-mapping>
    10     <servlet-name>default</servlet-name>
    11     <url-pattern>*.css</url-pattern>
    12   </servlet-mapping>

      如果有更多的资源需要过滤,比如.png,.gif等等,都可以继续添加配置,也比较方便

      

      上面就是最简单的两种方法,效率肯定是最高的,他们过滤的对象不一样,一个是只过滤动态url,一个是先过滤静态资源

  • 相关阅读:
    Sublime安装package control的操作
    Sublime的简单操作
    C# 泛型方法
    C# 数组的讲解(ArrayList 与List的区别)
    免费的天气API
    bootstrapValidator的验证
    sqlServer 多行合并为一行
    bootstrap的安装注意
    SQL数据库中把一个表中的数据复制到另一个表中
    JavaScript的误区
  • 原文地址:https://www.cnblogs.com/freeweb/p/5175188.html
Copyright © 2011-2022 走看看