SpringMVC静态资源处置:mvc:resources版权声明
原创优雅REST样式资源URL不希望带 .html 或 .do 等后缀.由于早期Spring MVC无法很好地处理静态资源,因此在web.xml中配置DispatcherServlet请求映射,通常使用 .do 、 .xhtml依此类推。这决定了请求URL必须是后缀URL,不能采用真实的REST风格的URL。
如果将DispatcherServlet请求映射已配置"/",则Spring MVC将捕获Web容器所有请求,包括对静态资源的请求,Spring MVC它们将作为正常请求进行处理,因此找不到相应的处理器将导致错误。
如何让Spring框架能够捕获所有URL同时从转发对静态资源的请求Web集装箱处理,可用。DispatcherServlet的请求映射已配置"/"前提由于REST是Spring3.0最重要的功能之一,所以Spring团队重视处理此任务的静态资源,并给出了两个经典解决方案。
先调整web.xml中的DispatcherServlet配置,以便它可以捕获所有请求:
springMVC
org.springframework.web.servlet.DispatcherServlet
1
springMVC
/
通过上面url-pattern配置,全部URL请求将是Spring MVC的DispatcherServlet截获。
采用
在springMVC-servlet.xml中配置
一般Web应用程序服务器默认值。Servlet名称是"default",因此DefaultServletHttpRequestHandler可以找到它。如果您的Web应用程序服务器的默认值。Servlet名称不是"default",你需要通过。default-servlet-name属性显示指定:
采用
首先,
其次,
当接收到获取静态资源的请求时,检查请求头。Last-Modified值,如果静态资源未更改,则直接返回该值303相应的状态代码提示客户端使用浏览器缓存的数据,而不是向客户端输出静态资源的内容,以充分节省带宽并提高程序性能。
在springMVC-servlet添加以下配置:
上述配置将Web根路径"/"在类路径下 /META-INF/publicResources/ 的目录/resources路径假设Web在根路径下拥有images、js这两个资源目录,在images下面有bg.gif图片,在js下面有test.js文件,你可以通过 /resources/images/bg.gif 和 /resources/js/test.js 访问这两个静态资源。
假设WebRoot还拥有images/bg1.gif 及 js/test1.js,您也可以在网页中传递。 /resources/images/bg1.gif 及 /resources/js/test1.js 做参考。
原始地址: https://www.cnblogs.com/caogen1991/p/7921748.html
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除