1、创建拦截器类,实现 HandlerInterceptor接口
public class LoginInterceptor implements HandlerInterceptor {
Logger logger = LoggerFactory.getLogger(LoginInterceptor.class);
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
logger.info("进入拦截器");
final Object user = request.getSession().getAttribute("user");
if (user==null){
response.sendRedirect("/User/login");
return false;
}else {
return true;
}
}
}
2、注册拦截器,并设置需要拦截的url
@Configuration
public class PageConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
//根据需求设置 不需要拦截的
List<String> exclude=new ArrayList<>();
exclude.add("/User/login");
exclude.add("/User/loginTo");
exclude.add("/js/**");
//需要拦截的
registry.addInterceptor(new LoginInterceptor()).addPathPatterns("/**").excludePathPatterns(exclude);
}