开发者社区> 问答> 正文

web.xml配置 spring mvc的时候,如何指定拦截某个路径下的请求?? 400 报错

web.xml配置 spring mvc的时候,如何指定拦截某个路径下的请求?? 400 报错

如题,现在我这边默认配置了*.do,因为有 html 等资源文件的关系,所以不能配置/,现在有一个 这样的请求/test/test,想配置到 springmvc里,请问怎么配。。试过好多种方式了
 

我再把我的情况说一下

1. 我的需求 是要引入swagger

2.引入后他自己内部有一些请求、比如:/swagger-resources,/swagger-resources/configuration/ui等

3. 我可以 为这几个单独的 url,配置url-pattern,但是我觉得他们开头都一样,都是/swagger*开头,所以就想试试目录匹配行不行,结果好像不行

4. 因为这个是已有项目,各种都做好处理了,不能像网上说的配置/然后用 spring mvc 做静态资源的处理。也不能配置 web.xml (资源文件比较多,挨个配 感觉好 low)

5. 目前没有好的解决办法,我就挨个配置swagger的地址了如下:

 

重点:但是我很想知道 目录匹配到底行不行啊。 = - = 大佬帮帮忙

展开
收起
爱吃鱼的程序员 2020-06-03 15:08:26 1329 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    直接加个.do######不行,特殊情况,这个路径不能改######配/没问题,百度下springmvc 处理静态资源######特殊情况,不能配置/,我知道可以单独配静态资源,或者改 spring mvc,但是因为这是已有项目,都做好处理了,只是引入swagger而已。######

    可以在applicaiton.xmlspring配置文件中加入拦截器拦截url

    1. <mvc:interceptors>  
    2.     <!-- 使用bean定义一个Interceptor,直接定义在mvc:interceptors根下面的Interceptor将拦截所有的请求 -->  
    3.     <bean class="com.host.app.web.interceptor.AllInterceptor"/>  
    4.     <mvc:interceptor>  
    5.         <mvc:mapping path="/test/test"/>  
    6.         <!-- 定义在mvc:interceptor下面的表示是对特定的请求才进行拦截的 -->  
    7.         <bean class="com.app.web.interceptor.LoginInterceptor"/>  
    8.     </mvc:interceptor>  
    9. </mvc:interceptors>  
    ######

    servlet-mapping设置为default

    或者设置 <mvc:resources mapping="" location=""/>

    ######理论上你这种多个mapping是可行的
    2020-06-03 16:39:16
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Web应用系统性能优化 立即下载
高性能Web架构之缓存体系 立即下载
PWA:移动Web的现在与未来 立即下载