登录拦截器
1.myInterceptor类
package com.jack.all.common; import com.jack.all.entity.TUser; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * 拦截器 */ public class myInterceptor implements HandlerInterceptor { /** * 在请求处理之前进行调用(Controller方法调用之前) * @param request * @param response * @param handler * @return * @throws Exception */ @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { String path = request.getServletPath();//获取请求路径 if (path.equals("/login")){ return true; }else { //验证session是否存在 TUser user = (TUser) request.getSession().getAttribute("login_user"); if (user ==null){ response.sendRedirect("/toLogin"); return false; } } 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 { } }
2.注册拦截器类
package com.jack.all.common; import org.springframework.context.annotation.Configuration; import org.springframework.util.ResourceUtils; import org.springframework.web.servlet.config.annotation.InterceptorRegistration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; /** * 注册拦截器 */ @Configuration public class WebMvcConfigure implements WebMvcConfigurer { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/static/**") .addResourceLocations(ResourceUtils.CLASSPATH_URL_PREFIX+ "/static/"); } @Override public void addInterceptors(InterceptorRegistry registry) { //注册拦截器 InterceptorRegistration registration=registry.addInterceptor(new myInterceptor()); registration.addPathPatterns("/**");//拦截全部请求 registration.excludePathPatterns( "/toLogin", "/toIndex", "/**/*.js", "/**/*.css", "/**/*.html", "/**/*.woff2", "/**/*.woff", "/**/*.ttf", "/static/**" ); } }