【Java】springboot2.0版本后配置拦截器会导致静态资源被拦截

springboot2.0版本后配置拦截器会导致静态资源被拦截

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wangfuxu14/article/details/80670648

解决办法:

分三步:

第一步:定义一个类实现

实现WebMvcConfigurer的类中拦截器中添加放行资源处添加静态资源文件路径:
@Override	public void addInterceptors(InterceptorRegistry registry) {		registry.addInterceptor(new LoginInterceptor()).addPathPatterns("/**")		.excludePathPatterns("/user/login","/static/**");	}

第二步:配置静态文件路径

@Override	public void addResourceHandlers(ResourceHandlerRegistry registry) {		registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");		WebMvcConfigurer.super.addResourceHandlers(registry);	}

静态资源文件存放在resources文件夹下的static文件夹中

第三步:在页面访问静态资源时,需要这样写:

<link href="/static/css/loaders.css" rel="stylesheet" type="text/css" />

原因是:没加拦截器springboot自动给你添加了/static,所以你在页面访问时不需要加,但是如果你加了拦截器,就必须在访问静态资源时加上/static/,以下是目录结构,


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.5.2 Zero

粤ICP备18035038号