加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

MVC Java Config – HandlerInterceptor不排除路径

发布时间:2020-12-14 14:26:51 所属栏目:Java 来源:网络整理
导读:我有一个MVC Java配置,但是HandlerInterceptor不排除一些模式. 在标有xxx的行上,如果 1)我将addPatterns(“/ **”)和excludePathPatterns(“*.ecxld”)添加到HandlerInterceptor的InterceptorRegistration中,HandlerInterceptor.preHanlde()根本不被调用.例
我有一个MVC Java配置,但是HandlerInterceptor不排除一些模式.

在标有xxx的行上,如果

1)我将addPatterns(“/ **”)和excludePathPatterns(“*.ecxld”)添加到HandlerInterceptor的InterceptorRegistration中,HandlerInterceptor.preHanlde()根本不被调用.例如.addPathPatterns(“/ **”).excludePathPatterns(“*.ecxld”)

2)我只将excludePathPatterns(“*.ecxld”)添加到HandlerInterceptor的InterceptorRegistration中,HandlerInterceptor.preHanlde()仍然被执行.

(其他拦截器调用正常).

任何指针赞赏.

谢谢

@Configuration
public class MyMVCConfigurerAdapter extends WebMvcConfigurerAdapter {

 @Override
 public void addInterceptors(final InterceptorRegistry registry) {

     registry.addInterceptor(getInterceptorOne());

     registry.addInterceptor(getMyHandlerInterceptor())
                 .excludePathPatterns("*.ecxld");  // **xxx**

     registry.addInterceptor(getInterceptorTwo()
     );

 }

解决方法

您为包含和排除指定的模式是ant base path expressions,而不是正常的URL表达式,您将在web.xml中表达,以映射servlet或过滤器.

要排除工作,您还必须包括一个包含路径(正如您已经注意到第二个注释).接下来,将排除模式更改为/**/*.ecxld.

您当前的表达式* .ecxld将匹配file.ecxld,但它不匹配/file.ecxld或甚至/foo/file.ecxld. / ** /部分负责.但是为了使其工作,它还需要一个includePathExpression(代码checks,如果没有includePathExpression忽略excludePathExpression).

所以简单地说你的配置到以下应该可以解决你的问题.

@Configuration
public class MyMVCConfigurerAdapter extends WebMvcConfigurerAdapter {

 @Override
 public void addInterceptors(final InterceptorRegistry registry) {

     registry.addInterceptor(getInterceptorOne());

     registry.addInterceptor(getMyHandlerInterceptor())
                 .includePathPatterns("/**")
                 .excludePathPatterns("/**/*.ecxld");  

     registry.addInterceptor(getInterceptorTwo()
     );

 }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读