1、在SpringBoot中自己写的拦截器,居然把静态资源也拦截了,导致了页面加载失败。

  1. package com.bie.config;
  2.  
  3. import com.bie.component.MyLocalResolver;
  4. import com.bie.interceptor.LoginInterceptor;
  5. import org.springframework.context.annotation.Bean;
  6. import org.springframework.context.annotation.Configuration;
  7. import org.springframework.web.servlet.LocaleResolver;
  8. import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
  9. import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
  10. import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
  11. import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
  12.  
  13. /**
  14. *
  15. */
  16. @Configuration
  17. public class SpringMvcWebConfigSupport implements WebMvcConfigurer {
  18.  
  19. /**
  20. * 默认访问的是首页
  21. *
  22. * @param registry
  23. */
  24. @Override
  25. public void addViewControllers(ViewControllerRegistry registry) {
  26. registry.addViewController("/").setViewName("login");
  27. registry.addViewController("/login.html").setViewName("login");
  28. registry.addViewController("/main.html").setViewName("dashboard");
  29. }
  30.  
  31. /**
  32. * 将static下面的js,css文件加载出来
  33. *
  34. * @param registry
  35. */
  36. @Override
  37. public void addResourceHandlers(ResourceHandlerRegistry registry) {
  38. //registry.addResourceHandler("/static/").addResourceLocations("classpath:/static/");
  39. registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
  40. }
  41.  
  42. /**
  43. * 将国际化添加到容器中
  44. *
  45. * @return
  46. */
  47. @Bean
  48. public LocaleResolver localeResolver() {
  49. return new MyLocalResolver();
  50. }
  51.  
  52. /**
  53. * 注册拦截器
  54. *
  55. * @param registry
  56. */
  57. @Override
  58. public void addInterceptors(InterceptorRegistry registry) {
  59. registry.addInterceptor(new LoginInterceptor())
  60. .addPathPatterns("/**")
  61. .excludePathPatterns("/", "/login.html", "/user/login",
  62. "/**/*.css", "/**/*.js", "/**/*.png", "/**/*.jpg",
  63. "/**/*.jpeg", "/**/*.gif", "/**/fonts/*", "/**/*.svg");
  64. }
  65. }

解决方法,在你注册拦截器的方法中,将这些静态资源排除掉,这样就可以顺利加载出来了,静态资源。实现自己的目标。

  1. /**
  2. * 注册拦截器
  3. *
  4. * @param registry
  5. */
  6. @Override
  7. public void addInterceptors(InterceptorRegistry registry) {
  8. registry.addInterceptor(new LoginInterceptor())
  9. .addPathPatterns("/**")
  10. .excludePathPatterns("/", "/login.html", "/user/login",
  11. "/**/*.css", "/**/*.js", "/**/*.png", "/**/*.jpg",
  12. "/**/*.jpeg", "/**/*.gif", "/**/fonts/*", "/**/*.svg");
  13. }

上面是顺利加载的页面,下面是没有加载静态资源的页面;

springboot拦截器拦了静态资源css,js,png,jpeg,svg等等静态资源的更多相关文章

  1. Springboot 拦截器配置(登录拦截)

    Springboot 拦截器配置(登录拦截) 注意这里环境为springboot为2.1版本 1.编写拦截器实现类,实现接口   HandlerInterceptor, 重写里面需要的三个比较常用的方 ...

  2. Java结合SpringBoot拦截器实现简单的登录认证模块

    Java结合SpringBoot拦截器实现简单的登录认证模块 之前在做项目时需要实现一个简单的登录认证的功能,就寻思着使用Spring Boot的拦截器来实现,在此记录一下我的整个实现过程,源码见文章 ...

  3. SpringBoot 拦截器获取http请求参数

    SpringBoot 拦截器获取http请求参数-- 所有骚操作基础 目录 SpringBoot 拦截器获取http请求参数-- 所有骚操作基础 获取http请求参数是一种刚需 定义拦截器获取请求 为 ...

  4. 【SpringBoot】SpringBoot拦截器实战和 Servlet3.0自定义Filter、Listener

    =================6.SpringBoot拦截器实战和 Servlet3.0自定义Filter.Listener ============ 1.深入SpringBoot2.x过滤器Fi ...

  5. springboot拦截器总结

    Springboot 拦截器总结 拦截器大体分为两类 : handlerInterceptor 和 methodInterceptor 而methodInterceptor 又有XML 配置方法 和A ...

  6. SpringBoot拦截器中Bean无法注入(转)

    问题 这两天遇到SpringBoot拦截器中Bean无法注入问题.下面介绍我的思考过程和解决过程: 1.由于其他bean在service,controller层注入一点问题也没有,开始根本没意识到Be ...

  7. SpringBoot拦截器中无法注入bean的解决方法

    SpringBoot拦截器中无法注入bean的解决方法 在使用springboot的拦截器时,有时候希望在拦截器中注入bean方便使用 但是如果直接注入会发现无法注入而报空指针异常 解决方法: 在注册 ...

  8. Springboot拦截器未起作用

    之前遇到要使用springboot拦截器却始终未生效的状况,查了网上的博客,大抵都是@Component,@Configuration注解未加,或是使用@ComponentScan增加包扫描,但是尝试 ...

  9. SpringBoot拦截器中service或者redis注入为空的问题

    原文:https://my.oschina.net/u/1790105/blog/1490098 这两天遇到SpringBoot拦截器中Bean无法注入问题.下面介绍我的思考过程和解决过程: 1.由于 ...

随机推荐

  1. SpringBoot2使用Jetty容器(替换默认Tomcat)

    https://blog.csdn.net/hanchao5272/article/details/99649252   Jetty和tomcat的比较 Tomcat和Jetty都是一种Servlet ...

  2. Web前端基础(3):HTML(三)

    1. body中的相关标签 1.1 表格标签:table.tr.td HTML表格由<table>标签以及一个或多个<tr>.<th>或<td>标签组成 ...

  3. Maven设置本地仓和阿里云远程仓

    在maven项目导入jar包坐标时需要连接maven官方仓库下载,但是下载速度感人,所以来修改一下设置. 设置成为本地仓和连接阿里云的远程仓库. (本地仓如果没有这个jar) 找出相应配置文件:例如我 ...

  4. java基础第十六篇之多线程

    1:线程的概念 进程(任务):一个正在运行的程序 进程的调度:CPU来决定什么时候该运行哪个进程 (时间片轮流法) 线程在一个应用程序中,同时,有多个不同的执行路径,是进程中的实际运作单位. 好处是提 ...

  5. 「SAP技术」SAP 如何看序列号被包在哪些HU里?

    「SAP技术」SAP 如何看序列号被包在哪些HU里? 事务代码SE16 ,表名OBJK, 输入物料号,序列号,HeadTable 输入值SER06, 查询结果如下, 根据objlist, 去表ser0 ...

  6. 程序员的自我修养系列(一):优雅的代码管理工具之GitHub

    1.导言 代码管理是程序员经常遇到一个问题,很多童鞋将代码保存到本地硬盘,此种方法管理混乱,也存在代码丢失的风险,且版本无法控制,因此养成良好的代码管理习惯是程序员的必修课.在众多代码管理工具中笔者在 ...

  7. vscode使用formate格式化less遇到的坑

    就是这个家伙 我的代码 @input-padding-y : 8px;@input-padding-x : 12px; @input-padding-y-lg : @input-padding-y + ...

  8. [Go] 写文件和判断文件是否存在

    OpenFile得到一个File,然后调用它的Write,参数是字节切片Stat看看返回错误没有 package main import ( "fmt" "os" ...

  9. [PHP] 配置vscode的语法检测消除提示Cannot validate since no PHP executable is set

    默认下载完vscode什么都不做,会提示一下信息Cannot validate since no PHP executable is set. Use the setting 'php.validat ...

  10. 监控类shell脚本

    1)开头加解释器:#!/bin/bash 2)语法缩进,使用四个空格:多加注释说明. 3)命名建议规则:变量名大写.局部变量小写,函数名小写,名字体现出实际作用. 4)默认变量是全局的,在函数中变量l ...