一. 问题及需求
由于Spring MVC的web.xml文件中关于DispatcherServlet拦截url的配置为"/",拦截了所有的请求,同时*.js,*.jpg等静态资源也被拦截了,导致运行时跳转后的页面无法加载图片资源,如下图所示。
web.xml:
1 <!-- 配置DispatcherServlet所要拦截的url --> 2 <servlet-mapping> 3 <servlet-name>springmvc</servlet-name> 4 <url-pattern>/</url-pattern> 5 </servlet-mapping>
二. 解决方案
只需要修改springmvc.xml:
21
22 <!-- 自动注册组件 -->
23 mvc:annotation-driven/
24
35 <!-- 访问静态资源 -->
36 <mvc:resources location="/image" mapping="/**"/>
37
38 </beans>
其中,在原来的基础上添加的配置有:
a) 22~23行(用于自动注册组件)
b) 35~36行(用于访问静态资源,按照这个格式也可以添加js,css或其他需要加载的静态资源
三. 测试
3.2. 启动tomcat,在浏览器地址栏输入url:http://localhost:8080/文件夹名/页面名.html