springmvc的拦截器,怎么设置不拦截的url

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springmvc的拦截器,怎么设置不拦截的url相关的知识,希望对你有一定的参考价值。

在xml里配置拦截器的地方设置一下exclude-mapping:

<mvc:interceptors>
  <mvc:interceptor>
    <mvc:mapping path="/project/**" /> <!--拦截-->
    <mvc:exclude-mapping path="/project/api/**" /> <!--忽略-->
    <bean class="xx.xx.XXXInterceptor" /> <!--你的拦截器-->
  </mvc:interceptor>
</mvc:interceptors>


如果你用SpringBoot,可以直接代码:

@Override
public void addInterceptors(InterceptorRegistry registry) 
  registry.addInterceptor(new XXXInterceptor()).addPathPatterns("/**").excludePathPatterns("/api/**");
  super.addInterceptors(registry);
参考技术A <!-- 默认首页 -->
<mvc:view-controller path="/" view-name="redirect:/loginpage" />

<!-- 拦截器 -->
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<mvc:exclude-mapping path="/loginpage/**"/>
<bean class="com.me.common.LoginInterceptor" />
</mvc:interceptor>
</mvc:interceptors>

<mvc:exclude-mapping path="/loginpage/**"/>

------------------改成----->

<mvc:exclude-mapping path="/"/>
<mvc:exclude-mapping path="/loginpage/**"/>

估计是你访问"/"时就到了拦截器

spring mvc的静态资源拦截器怎么配置

参考技术A

初学者基本上使用1,2,3方案:

    所有请求全部拦截,都在spring mvc 处理,静态资源如下配置

    <mvc:resources mapping="/images/**" location="/images/" cache-period="31556926"/>  

    所有请求全部拦截,但是在web.xml中添加对静态资源的默认访问,如下

     <servlet-mapping>
         <servlet-name>default</servlet-name>
         <url-pattern>*.jpg</url-pattern>
     </servlet-mapping>

    所有请求全部拦截,在springmvc配置文件中添加如下,这种方式对spring版本必须要求3.0.5及以上。

    <mvc:default-servlet-handler/>

    然后是我极力推荐的一种,web.xml中配置DispatcherServlet的时候mapping如下配置,url-pattern不要全部拦截,把需要springmvc处理的请求添加自定义头。这种方法性能最好。

     <servlet-mapping>
            <servlet-name>spring</servlet-name>
            <url-pattern>/自定义</url-pattern>
     </servlet-mapping>

以上是关于springmvc的拦截器,怎么设置不拦截的url的主要内容,如果未能解决你的问题,请参考以下文章

springmvc的拦截器,怎么设置不拦截的url

如何让springmvc 不拦截所有带后缀的url-CSDN论坛

springmvc+jsp 拦截器下如何设置欢迎页面

vue设置了全局http拦截器,如何使某个页面不使用拦截器进行拦截,可以直接敲url访问?

springsecurity添加过滤器怎么针对资源拦截

spring mvc 拦截器登录超时怎么跳转到登录页面?