V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
timepast
V2EX  ›  Java

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

  •  
  •   timepast ·
    idyllim · 2014-09-12 19:04:01 +08:00 · 2876 次点击
    这是一个创建于 3723 天前的主题,其中的信息可能已经有所发展或是发生改变。
    5 条回复    2014-09-15 09:01:57 +08:00
    cxshun
        1
    cxshun  
       2014-09-12 19:31:53 +08:00
    拦截/不就包含了*.html了,有点矛盾哦。
    如果你非要区分开,那就写多个url-mapping,同时为DispatcherServlet进行拦截就行了。
    timepast
        2
    timepast  
    OP
       2014-09-12 20:11:57 +08:00
    @cxshun 我测试了,使用多个mapping 是不行的 如果是 .html 和 .xhtml 是可以的 。
    cxshun
        3
    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
        4
    timepast  
    OP
       2014-09-13 11:17:17 +08:00
    @cxshun / 不是拦截所有的请求吧 /* 才是的

    / 和 *.html 的情况下 我发现 / 不会生效 *.html 却生效了
    cxshun
        5
    cxshun  
       2014-09-15 09:01:57 +08:00
    @timepast 具体的拦截匹配我就不大记得了,你可以看看我发的文档,里面有resource相关的配置,试下看行不。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1408 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 17:30 · PVG 01:30 · LAX 09:30 · JFK 12:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.