一、创建拦截器的实现类,重写拦截方法
public class LoginInterceptor implements HandlerInterceptor{
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)throws Exception {
HttpSession session=request.getSession();
Object obj=session.getAttribute("uid");
if(obj==null) {
response.sendRedirect("../web/login.html");
return false;
}
return true;
}
@Override
public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3) throws Exception {
}
@Override
public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3) throws Exception{
}
二、创建配置类,重写拦截器方法
@Configuration
public class WebAppConfigurer implements WebMvcConfigurer{
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry){
registry.addResourceHandler("")
.addResourceLocations("classpath:/META-INF/resources/.../");
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new LoginInterceptor())
.addPathPatterns("/user/**")
.excludePathPatterns("/user/reg.do","/user/login.do");
registry.addInterceptor(new LogInterceptor())
...
}