(三十二)处理静态资源两种方式
一、<url-pattern>/</url-pattern>不能处理静态资源的原因
<!-- 使用/ 则说明将所有请求都交给servlet处理 -->
<url-pattern>/</url-pattern>
将所有请求都交给springmvc,包括jsp页面中图片、css、js等资源请求,所以就会出现图片不能展示问题(没有对应的处理器),即以/方式,不能访问静态资源问题
二、解决方法
第一种方式在springmvc的配置文件加入<mvc:default-servlet-handler>
加入标签后,框架会把静态资源的请求交给服务器(Tomcat)的处理静态资源的servlet
第二种方式:在spring3.0.4版本后,Spring中定义了专门用于处理静态资源访问请求的处理器ResourceHttpRequestHandler,
并且添加了<mvc:resources>标签,专门用于解决静态资源无法访问问题
<mvc:resources location="/images/" mapping="/images/**" />
location:静态资源在web项目中目录位置,不能是/WEB-INF
mapping:访问静态资源的uri地址
1.*:表示任意的文件
2.**表示任意目录和文件
推荐使用第二种方式,因为第一种方式依赖服务器,服务器改变,配置文件加入的内容要改变。而第二种方式是框架来解决,不依赖服务器