SpringMVC 静态资源处理
两种处理静态资源
- 配置 2、使用标签
静态资源处理的意义
为什么?
DispathcerServlet 拦截全部请求是(url-parttern:”/”),会将静态资源文件路径识别为处理器,导致无法访问静态资源文件
两种方式
·**容器的默认servlet
·使用框架提供的标签
》在web.xml 中配置默认servlet
如果想让 Dispatcher Servlet 直接可以访问到静态资源,最简单的方法当然是交给默认的 Servlet。
**默认Servlet 处理静态资源
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
</servlet-mapping>
》mvc标签处理静态资源
·SpringMVC3.0 开始,框架提供了一个标签专门用来处理静态资源文件加载问题
<mvc:resource location=”静态资源文件位置” mapping=”生效路径” cache-period=”缓存时间” order=”优先级” />
注: 1、需要配置<mvc:annotation-driven /> 标签使用
2、 标记红色为必写项
参数: location 最后一定要有一个 / 结束,否则静态资源是访问不到的
mapping 静态资源文件的请求生效路径
order 参数是Spring 配置的优先级,数字越小越优先
cache-period 是缓存的秒数
原理:
<mvc:resources/> ,把mapping 属性的值注册到SimpleURLHandlerMapping中;
静态资源的访问由HandlerMapping 转到 ResourceHttpRequestHandler 处理并返回
具体配置:
<!-- 这个必须写 -->
<mvc:annotation-driven/>
<!-- 静态资源文件处理 -->
<mvc:resources location="/static/" mapping="/static/**"/>
上一篇: 根据路径选择node
下一篇: 配置项