spring mvc处理静态文件

时间:2022-02-27 06:57:52

现在流行REST开发风格,REST风格的URL 是不希望看到例如:*.do后缀的。

<servlet-mapping>
<servlet-name>cxy</servlet-name>
<!--为了符合REST风格,这里就需要改成/-->
<url-pattern>/</url-pattern>
</servlet-mapping>

但是这样引来一个问题,静态的文件将不能被访问到。spring 提供了2种处理办法。

1.<mvc:default-servlet-handler/>(直接写入配置文件即刻,当然这里支持配置默认Servlet名)

<!-- 配置这个可以让静态文件交给默认的web容器处理
但是这个只是传统的处理静态文件方式 并不能访问web-inf下的文件
-->
<mvc:default-servlet-handler/>

2.<mvc:resources location="/,/WEB-INF/resourcesRoot/" mapping="/r/**" cache-period="10"/>

<!-- 还可以采用下面方式进行映射,可以将资源文件放到web-inf中 从而实现资源文件打入jar包的功能
cache-period 为缓存时间 一半设为1年 31536000,
开发时建议设小点 以防止缓存带来的麻烦,
项目正式上线后 可以采用发布版本号的方式 防止 缓存带来的麻烦
-->
<mvc:resources location="/,/WEB-INF/resourcesRoot/" mapping="/r/**" cache-period="10"/>

10秒