现在流行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访问静态文件问题
本文详细介绍了在使用Spring框架时,如何处理REST风格URL下的静态文件访问问题,包括两种方法:使用<mvc:default-servlet-handler/>配置直接处理静态文件和通过<mvc:resources>配置映射资源文件到web-inf目录下,同时实现资源文件打包到jar包。文章还提供了关键配置参数的解释和建议。
1437

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



