前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >springboot拦截器拦了静态资源css,js,png,jpeg,svg等等静态资源

springboot拦截器拦了静态资源css,js,png,jpeg,svg等等静态资源

作者头像
别先生
发布2019-07-02 17:02:35
2.3K0
发布2019-07-02 17:02:35
举报
文章被收录于专栏:别先生别先生

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

代码语言:javascript
复制
 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 }

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

代码语言:javascript
复制
 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     }

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-06-22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档