web项目中url-pattern改成'/'后,js、css、图片等静态资源(404)无法访问问题解决办法

时间:2023-03-08 17:17:55

感谢http://blog.****.net/this_super/article/details/7884383的文章

1、增加静态资源url映射

如Tomcat, Jetty, JBoss, GlassFish容器可以这样定义

注意一定要在所有servlet之前定义该类映射):

<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>
<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.css</url-pattern>
</servlet-mapping>

补充:Google App Engine 默认Servlet的名字是 -- "_ah_default"、Resin 默认Servlet的名是 --
"resin-file"、WebLogic 默认Servlet的名是  -- "FileServlet"、WebSphere  默认Servlet的名是 --
"SimpleFileServlet" 。

2、使用spring的配置<mvc:default-serlvet-handler>

3、使用spring配置<mvc:resources location="存放静态文件的目录路径" mapping="/目录/**" />

注意:(两个"*")指location的值所表示的目录以及所有子目录