在开发公司项目时,使用了spring3.X MVC,之前项目部署一直都部署到tomcat6中时运行很顺利。最近考虑到tomcat版本应该时有点低了,就打算在tomcat7上部署一套最新的系统,但是发现很多静态资源文件不能加载,导致界面出现问题。
经过一番折腾之后,发现了一个问题:就是Spring3.x MVC 在不同版本的tomcat下会有细微的差别。
比如加载静态资源文件问题。虽然项目中spring mvc的DispatcherServlet拦截都是以 *.do 类似的方式配置的请求,但是在不同tomcat6中不会拦截静态资源文件,而在tomcat7中则会拦截静态资源文件。解决这个问题的方式就是在项目的web.xml文件中添加上相应的静态资源文件配置:
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.xml</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.png</url-pattern>
</servlet-mapping>
只要配置在spring mvc的DispatcherServlet前面即可解决问题了。
下面是一下可以参考的详细说明博客:
web.xml中出现default是什么意思?
DWZ出现Error loading XML document: dwz.frag.xml问题的解决方式