大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
集成拦截器
-
登录验证为例
-
添加拦截器
public class LoginInterceptor implements HandlerInterceptor { private Logger log = LoggerFactory.getLogger(getClass()); //Controller逻辑执行之前 @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { log.info("preHandle...."); Object user = WebUtils.getHttpSession().getAttribute("user"); log.info("user:{}",user); String uri = request.getRequestURI(); log.info("uri:"+ uri); if (user == null) { response.sendRedirect("/"); return false; } else { return true; } } //Controller逻辑执行完毕但是视图解析器还未进行解析之前 @Override public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception { log.info("postHandle...."); } //Controller逻辑和视图解析器执行完毕 @Override public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception { log.info("afterCompletion...."); } }
-
注册,配置拦截路径和排除登录需访问路径
@Configuration public class WebMvcConfig implements WebMvcConfigurer { @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(new LoginInterceptor()).addPathPatterns("/**") .excludePathPatterns("/", "/login", "/user/login","/user/login", "/images/**", "/user/getCode", "/js/**", "/page/**", "/layui/**", "/layui_ext/**", "/login.html", "/webjars/**", "/css/**"); } }
-
退出登录清除session
/** * 跳转到登录 * @return */ @RequestMapping("toLogin") public String toLogin(){ WebUtils.getHttpSession().removeAttribute("user"); return "/"; }
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/169176.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...