ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2019-06-22 15:54:58  阅读:203  来源: 互联网

标签:拦截器 静态 springframework registry org import login public png


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     }

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

 

标签:拦截器,静态,springframework,registry,org,import,login,public,png
来源: https://www.cnblogs.com/biehongli/p/11069078.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有