如何你的DispatcherServlet拦截 *.do这样的URL(一般不使用*.do),就不存在访问不到静态资源的问题。
如果你的 DispatcherServlet 拦截 “/” ,拦截了所有的请求,同时对*.js,*.jpg等静态资源文件也被拦截了,导致运行时跳转后的页面无法加载静态资源文件。
1、web.xml
springDispatcherServlet
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:springmvc.xml
1
springDispatcherServlet
/
方案一:激活Tomcat的defaultServlet来处理静态文件,一般不用
在 web.xml 中加入:
default
*.js
default
*.css
default
*.jpg
要配置多个,每种文件配置一个
要写在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,资源映射
在 springmvc.xml 配置