现在流行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"/>
本文探讨了在使用Spring框架时如何处理REST风格的URL设计,特别是针对URL中不希望出现*.do后缀的情况,并介绍了两种解决方法:一种是通过<mvc:default-servlet-handler/>配置直接处理静态文件访问问题;另一种是利用<mvc:resources>配置,将资源文件映射到web-inf目录下,实现资源文件打包进jar包的功能,同时提供了静态资源的缓存策略。
434

被折叠的 条评论
为什么被折叠?



