1.拦截器进行登录检查
1/*登陆检查*/ 2//拦截器要注册到容器中 3public class LoginHandlerInterceptor implements HandlerInterceptor { 4 //目标方法执行之前 5 @Override 6 public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { 7 //获取session域,获取到loginUser,看是否登录 8 HttpSession session = request.getSession(); 9 Object loginUser = session.getAttribute("loginUser"); 10 if (loginUser==null){ 11 //未登录,返回登录页面 12 //获取转发器,并转发 13 request.setAttribute("msg","没有权限请先登录"); 14 request.getRequestDispatcher("/index.html").forward(request,response); 15 return false; 16 }else { 17 //已登录,放行 18 return true; 19 } 20 } 21} 22 23@Configuration 24public class MyMvcConfig implements WebMvcConfigurer { 25 @Override 26 public void addViewControllers(ViewControllerRegistry registry) { 27 //映射到login.html页面 28 registry.addViewController("/").setViewName("login"); 29 registry.addViewController("/index.html").setViewName("login"); 30 //做重定向 31 registry.addViewController("/main.html").setViewName("dashboard"); 32 } 33 34 35 //将MyLocaleResolver加到注册 36 @Bean 37 public LocaleResolver localeResolver(){ 38 return new MyLocaleResolver(); 39 } 40 41 //注册拦截器 42 @Override 43 public void addInterceptors(InterceptorRegistry registry) { 44 //拦截器拦截所有请求,但放行以下请求 45 registry.addInterceptor(new LoginHandlerInterceptor()).addPathPatterns("/**").excludePathPatterns("/","/index.html","/login.html","/user/login","/webjars/**","/asserts/**"); 46 } 47}