excludePathPatterns("/index.html")无效
时间: 2023-12-31 16:04:13 浏览: 59
如果您在 Spring Boot 中使用了 `WebMvcConfigurer` 来配置拦截器时,配置 `excludePathPatterns("/index.html")` 无效的原因可能是 `"/index.html"` 并不是一个需要被拦截的请求路径。
您可以尝试使用 `addPathPatterns("/**")` 来设置需要被拦截的请求路径,然后再使用 `excludePathPatterns("/index.html")` 排除不需要被拦截的请求路径。示例代码如下:
```java
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new YourInterceptor())
.addPathPatterns("/**")
.excludePathPatterns("/index.html");
}
}
```
如果您的问题不是出现在拦截器配置中,请提供更多上下文信息,以便我们更好地帮助您解决问题。
相关问题
package com.de.debook.config; import com.de.debook.interceptor.AuthorityInterceptor; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @Configuration public class ConfigRegistCanter implements WebMvcConfigurer { //注册拦截器 //addPathPatterns 用来设置拦截路径 //excludePathPatterns 用来设置白名单,也就是不需要触发这个拦截器的路径。 //addPathPatterns("/**") 表示拦截所有的请求 @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(new AuthorityInterceptor()) .excludePathPatterns("/user/login.html") .excludePathPatterns("/user/login") .excludePathPatterns("/user/login.out") .excludePathPatterns("/user/register.html") .excludePathPatterns("/user/register") .excludePathPatterns("/admin/register.html") .excludePathPatterns("/index.html") .excludePathPatterns("/js/**") .excludePathPatterns("/css/**") .excludePathPatterns("/images/**") .excludePathPatterns("/layui/**") .excludePathPatterns("/wangEditor/**"); } //这个方法是用来配置静态资源的,比如html,js,css等 @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { } }
这是一个 Spring Boot 配置类,用于注册拦截器和配置静态资源的映射路径。具体来说,代码中的 `AuthorityInterceptor` 是自定义的拦截器类,用来实现用户权限的控制。在 `addInterceptors` 方法中,通过 `registry.addInterceptor()` 方法添加拦截器,并使用 `excludePathPatterns` 方法设置白名单,即不需要被拦截的路径。在这个例子中,白名单包括登录、注册等页面、静态资源等。在 `addResourceHandlers` 方法中,可以配置静态资源的映射路径。
public void addInterceptors(InterceptorRegistry registry){ registry.addInterceptor(new MVCInterceptor()) .addPathPatterns("/**") .excludePathPatterns("/show_login") .excludePathPatterns("/check_login_mybatis") .excludePathPatterns("/no_privilege") .excludePathPatterns("/register") .excludePathPatterns("/js/*") .excludePathPatterns("/css/*") .excludePathPatterns("/image/*") .excludePathPatterns("/css/img/*") .excludePathPatterns("/error") .excludePathPatterns("/css/font/*") .excludePathPatterns("/*.js") .excludePathPatterns("/*.html") ; }
这段代码是在Spring MVC框架中注册拦截器,其中添加了一个MVCInterceptor拦截器,该拦截器会拦截所有的请求("/**"),但排除了一些特定的路径,如登录、注册、静态资源等。
拦截器可以在请求到达Controller之前或之后对请求进行处理,用于实现一些通用的功能,例如身份验证、日志记录等。在Spring MVC中,可以通过实现HandlerInterceptor接口来自定义拦截器,并通过InterceptorRegistry进行注册。在注册时,可以指定拦截的路径和排除的路径,以及拦截器的优先级等。
阅读全文