由于项目的需要,SpringMVC 需要同时拦截 / 和 *.html 该如何实现呢?

2014-09-12 19:04:01 +08:00
 timepast
2780 次点击
所在节点    Java
5 条回复
cxshun
2014-09-12 19:31:53 +08:00
拦截/不就包含了*.html了,有点矛盾哦。
如果你非要区分开,那就写多个url-mapping,同时为DispatcherServlet进行拦截就行了。
timepast
2014-09-12 20:11:57 +08:00
@cxshun 我测试了,使用多个mapping 是不行的 如果是 .html 和 .xhtml 是可以的 。
cxshun
2014-09-13 00:19:10 +08:00
实际上是因为所有请求都被/拦截了,所以*.html不会生效的,你要做这样的需求,可能只能static resource这个做了,看一下spring的文档: http://docs.spring.io/spring/docs/3.2.11.RELEASE/spring-framework-reference/htmlsingle/#mvc-config-static-resources,可以通过mvc:resource来实现,但这也仅限于你当前的例子,因为刚才html是静态文件,如果是可以处理/和*.jsp,这又是需要另外一种处理方式了。
实际上,如果你需要映射多个,一般建议你写多个,否则就还是做相应的修改,适应一个就行了。
timepast
2014-09-13 11:17:17 +08:00
@cxshun / 不是拦截所有的请求吧 /* 才是的

/ 和 *.html 的情况下 我发现 / 不会生效 *.html 却生效了
cxshun
2014-09-15 09:01:57 +08:00
@timepast 具体的拦截匹配我就不大记得了,你可以看看我发的文档,里面有resource相关的配置,试下看行不。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/133127

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX