当前位置: 首页 > news >正文

[JAVAee]Spring拦截器

适用场景

像是页面的登录验证处理,权限校验,登录日志的处理.

实现步骤

  1. 创建⾃定义拦截器,实现 HandlerInterceptor 接⼝的 preHandle(执⾏具体⽅法之前的预处理⽅法.
  2. 将⾃定义拦截器加⼊ WebMvcConfigurer 的 addInterceptors ⽅法中.

下面以登录验证为例,实现拦截器.

实现HandlerInterceptor接口,并重写preHandle方法(在业务处理器处理请求之前被调用)

@Component
public class Interceptor implements HandlerInterceptor {//preHandle方法返回true表示能通过,并继续执行原本的下一步.//返回false表示不能通过,执行其他程序或返回.@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {HttpSession session = request.getSession(false);if(session != null && session.getAttribute("user") != null){return true;//验证用户已为登录状态}//用户未登录response.sendRedirect("login.html");return false;}
}

 实现WebMvcConfigurer接口,将上面实现的拦截器加入到其中

@Configuration
public class MyConfig implements WebMvcConfigurer {@Autowired//注入拦截器的对象Interceptor Interceptor;@Override//添加拦截器public void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(Interceptor)//将拦截器加入.addPathPatterns("/**")//拦截所有的方法.excludePathPatterns("/**/*.html")//放开(不拦截)以.html结尾的文件.excludePathPatterns("/user/login");//放开url为user/login的方法}
}

http://www.lryc.cn/news/185034.html

相关文章:

  • 【nvm】Node Version Manager(NVM)安装配置以及使用(WIN版)
  • 【微服务】七. http客户端Feign
  • 【Spring Boot 源码学习】OnWebApplicationCondition 详解
  • 力扣之二分法
  • css图形化理解--扭曲函数skew()
  • 八、互联网技术——物联网
  • 聊聊MySQL的聚簇索引和非聚簇索引
  • python之subprocess模块详解
  • 第10讲:Vue组件的定义与注册
  • Pycharm操作git仓库 合并等
  • Flink+Doris 实时数仓
  • windows 任务计划自动提交 笔记到github 、gitee
  • 闭包和装饰器
  • 注册器模式
  • 5SpringMVC处理Ajax请求携带的JSON格式(“key“:value)的请求参数
  • 学习笔记|ADC|NTC原理|测温程序|STC32G单片机视频开发教程(冲哥)|第十九集:ADC应用之NTC
  • Redisson 集成SpringBoot 详解
  • C# 下载模板文件 Excel
  • 如何做好sop流程图?sop流程图用什么软件做?
  • JAVA编程题-求矩阵螺旋值
  • Python--入门
  • STM32复习笔记(二):GPIO
  • POJ 3264 Balanced Lineup 线段树 / 平方分割
  • element-plus自动引入组件报错,例如collapse、loading
  • ChainForge:衡量Prompt性能和模型稳健性的GUI工具包
  • 队列--二叉树层序遍历
  • Ceph入门到精通-Linux内核网络参数优化小结
  • AWK语言第二版 2.6个人库 2.7小结
  • 8年经验之谈 —— Web ui自动化测试框架总结!
  • Kafka在企业级应用中的实践