最近运行SSM项目时,每当通过tomcat访问静态资源时总报404。
通过对比别人的框架,才发现原来是自己的springmvc.xml配置文件中没有<mvc:default-servlet-handler />标签。
解决静态资源被拦截的具体方法有两种:
1、在springmvc.xml最下面添加<mvc:default-servlet-handler />标签
<!--过滤静态资源-->
<mvc:default-servlet-handler/>
<!--开启SpringMVC注解的支持-->
<mvc:annotation-driven/>
</beans>
2、通过<mvc:resources location="/resources/" mapping="/resources/ "/>(自己之前的解决办法,有点麻烦)
(只允许resources子目录的静态页面通过,如需允许同级的其他静态资源访问需要再添加
<mvc resources location = “/” mapping="/**"/ >标签如下:)
<!--过滤静态资源--> <mvc:resources location="/" mapping="/**"/> <mvc:resources location="/js/" mapping="/js/**"/> <mvc:resources location="/css/" mapping="/css/**"/> <mvc:resources location="/images/" mapping="/images/**"/> <mvc:resources location="/resources/" mapping="/resources/**"/> <!--开启SpringMVC注解的支持--> <mvc:annotation-driven/> </beans>
知道哪儿出现了问题,但是为什么呢?于是百度,下面是产生问题的原因的链接: