srping boot的web项目,添加登录拦截器后,页面样式文件消失了,怎么办?

procedure123 2020-04-28 12:45:09
@Configuration
public class MyMvcConfig extends WebMvcConfigurerAdapter {

@Bean //将组件注册在容器
public WebMvcConfigurerAdapter webMvcConfigurerAdapter(){
WebMvcConfigurerAdapter adapter = new WebMvcConfigurerAdapter() {


//注册拦截器
@Override
public void addInterceptors(InterceptorRegistry registry) {
//super.addInterceptors(registry);

registry.addInterceptor(new LoginHandlerInterceptor()).addPathPatterns("/**")
.excludePathPatterns("/","/admininfo/login");
}
};
return adapter;
}

}

如上述代码,添加了一个mvc配置类,并注册了一个登录拦截器。然后不经过登录页面直接访问数据展示页面,页面的CSS样式消失了,如果规规矩矩的从登录页进入系统,CSS样式还是正常。这是什么原因?
拦截器定义如下
public class LoginHandlerInterceptor implements HandlerInterceptor {
//目标方法执行之前
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
Object user = request.getSession().getAttribute("name");
if(user == null){
//未登陆,返回登陆页面

request.getRequestDispatcher("/").forward(request,response);
return false;
}else{
//已登陆,放行请求
return true;
}

}

@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {

}

@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {

}
}

...全文
433 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
csdnheyuanbo 2020-04-29
  • 打赏
  • 举报
回复
因为你拦截了css,js,你得放行静态资源。
nayi_224 2020-04-28
  • 打赏
  • 举报
回复
.excludePathPatterns("/","/admininfo/login", "/static/**");

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧