日期:2014-05-17  浏览次数:20608 次

SPRING-MVC访问静态文件,如jpg,js,css

如何你的DispatcherServlet拦截 *.do这样的URL,就不存在访问不到静态资源的问题。如果你的DispatcherServlet拦截“/”,拦截了所有的请求,同时对*.js,*.jpg的访问也就被拦截了。

?

目的:可以正常访问静态文件,不要找不到静态文件报404。
?
方案一:激活Tomcat的defaultServlet来处理静态文件

Xml代码 ?
<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>???
?要配置多个,每种文件配置一个???

要写在DispatcherServlet的前面, 让defaultServlet先拦截,这个就不会进入Spring了,我想性能是最好的吧。


Tomcat, Jetty, JBoss, and GlassFish? 默认 Servlet的名字 -- "default"
Google App Engine 默认 Servlet的名字 -- "_ah_default"
Resin 默认 Servlet的名字 -- "resin-file"
WebLogic 默认 Servlet的名字? -- "FileServlet"
WebSphere? 默认 Servlet的名字 -- "SimpleFileServlet"?

?

?


方案二: 在spring3.0.4以后版本提供了mvc:resources?
mvc:resources 的使用方法: