jsp 文件无法加载 css、js 的问题

今天遇到一个问题是,在 jsp 里面引入 css、js,请求的状态是 200,但 css、js 的内容却是空的。

 

这是因为 servlet 有个 url-pattern,将 css、js 的路径当做 servlet 处理了

 

url-pattern有5种配置模式: 

(1)/xxx:完全匹配/xxx的路径
(2)/xxx/*:匹配以/xxx开头的路径,请求中必须包含xxx。
(3)/*:匹配/下的所有路径,请求可以进入到action或controller,但是转发jsp时再次被拦截,不能访问jsp界面。
(4).xx:匹配以xx结尾的路径,所有请求必须以.xx结尾,但不会影响访问静态文件。
(5)/:默认模式,未被匹配的路径都将映射到刺servlet,对jpg,js,css等静态文件也将被拦截,不能访问。

 

解决方法,在 web.xml 添加如下配置:

<!-- static resources -->  
    <servlet-mapping>  
        <servlet-name>default</servlet-name>  
        <url-pattern>*.css</url-pattern>  
    </servlet-mapping>  
  
    <servlet-mapping>  
        <servlet-name>default</servlet-name>  
        <url-pattern>*.gif</url-pattern>  
  
    </servlet-mapping>  
  
    <servlet-mapping>  
        <servlet-name>default</servlet-name>  
        <url-pattern>*.jpg</url-pattern>  
    </servlet-mapping>  
  
    <servlet-mapping>  
        <servlet-name>default</servlet-name>  
        <url-pattern>*.js</url-pattern>  
    </servlet-mapping>  

  

 

posted @ 2018-04-01 17:38  佚名000  阅读(1451)  评论(0编辑  收藏  举报