SpringBoot自定义拦截器后无法访问静态文件
2019-01-21 22:09
2296 查看
现象
SpringBoot 2.x项目自定义拦截器后无法访问到js、css静态文件。
目录如下:
引用静态文件方式:
原因
自定义的拦截器拦截了所有请求,导致静态文件不能访问。
注:SpringBoot 1.x的resources/static目录下的静态文件在自定义拦截器后访问不会被拦截,而2.x会拦截。
[code]@Override public void addInterceptors(InterceptorRegistry registry) { // TODO Auto-generated method stub registry.addInterceptor(new LoginInterceptor()).addPathPatterns("/**") .excludePathPatterns("/", "/index.html", "/user/login"); }
解决办法
方法1:排除asserts目录及其子目录下的静态文件的拦截。
[code]@Override public void addInterceptors(InterceptorRegistry registry) { // TODO Auto-generated method stub registry.addInterceptor(new LoginInterceptor()).addPathPatterns("/**") .excludePathPatterns("/", "/index.html", "/user/login", "/webjars/**", "/asserts/**"); }
缺点:如果static目录下有多个静态文件目录的话,就需要排除多个目录。
方法2:
1)首先在appication.properties中配置静态资源的映射路径:
spring.mvc.static-path-pattern=/static/**
不配置的话默认静态资源默认映射路径为: /**
2)排除/static目录及其子目录下静态文件的拦截
3)引用或访问静态资源时要加上/static目录
相关文章推荐
- springboot2.13加了拦截器后,静态资源访问了,导致样式丢失
- SpringBoot集成Jersey时无法访问静态资源的解决方法
- springboot1.1.0自定义静态文件配置bug
- 解决SpringBoot整合shiro之后无法加载静态资源文件问题
- SpringBoot 自定义filter 和 interceptor,自定义静态文件存放位置
- spring MVC总结(核心流程图、如何访问到静态的文件、Spring中的拦截器、全局异常、JUnit单元测试、ajax请求)
- 解决 IntelliJ IDEA 无法热加载 Spring Boot 模板文件和静态资源文件
- spring boot 使用thymeleaf加载静态资源打成jar之后无法访问
- 架构搭起后 为了实现 对静态资源文件的访问 spring_mvc.xml 添加<mvc:default-servlet-handler /> 但却再也无法访问到controller
- Spring boot(15) spring boot admin server作为普通工程的时候,无法访问static文件夹下的静态资源
- 解决 IntelliJ IDEA 无法热加载 Spring Boot 模板文件和静态资源文件
- SpringBoot WEB-INF目录下文件无法访问一种解决方案
- spring boot 自定义规则访问获取内部或者外部静态资源图片的方法
- 解决 IntelliJ IDEA 无法热加载 Spring Boot 模板文件和静态资源文件
- SpringBoot文件上传与静态资源访问
- Spring Boot无法访问css,js等静态资源的问题
- spring boot整合Jersey时无法访问静态资源路径解决办法
- Spring Boot1.5使用自定义的properties文件
- SpringBoot打包成jar在服务器上无法访问JSP页面问题
- springboot 2.0 静态资源(JS/CSS/HTML路径)访问不到