网站首页 > 知识剖析 正文
web项目实战1-登录校验注解(拦截器+注解的实例应用)
前言
在我们进行互联网项目中,经常会遇到我们这个请求必须登录后才能访问。
这是一个非常常见的问题,这个请求可能是一个页面也可能是一个Ajax,
这就需要我们对请求进行额外的处理。
要实现这种需求的方法有很多种,在这里是用拦截器+注解的方式处理,灵活性好。
思路:
1. 需要一个注解 (如:LoginAccessRequired.java)
2. 定义一个拦截器,对我们的注解进行分析
3. 在需要登录校验的时候,添加我们注解即可
实现:
1. 定义我们的注解类 : LoginAccessRequired.java
这里我们定义了一个LoginAccessRequired注解类,注解对象是方法级的,并且作用域是Runtime运行时,定义个一responseType属性,表示响应的类型(自定义的枚举类),默认是JSON-即请求为Ajax,返回类型是json结构。好了,自定义注解完成
2. 定义一个拦截器,对我们的注解进行分析 :
LoginAccessRequiredInteceptor.java
我们知道注解是一种"被动"信息, 需要”主动“去解析它才有意思。所以我们的注解解析工具使用HandlerInterceptorAdapter的子类,拦截方法处理请求。
org.springframework.web.servlet.handler.HandlerInterceptorAdapter是spring的一个类,我们重写的preHandle()即可。
LoginAccessRequiredInteceptor.java
preHandle()方法:
以来的一些小方法:
解析注解,获取响应类型:
获取前登录用户ID
对应请求的两种响应:
至此,我们的注解与注解的解析工具已经完成,还可以吧,是不是感觉注解也没什么...
3.吼吼,关键的一步来喽,我们的注解要怎么用呢,看图:
这是PersonalController.java个人设置下的一个方法
最后,在springmvc-servlet.xml文件中加入我们的拦截器即可
到此我们的所有 代码已经完成了。我们只是负责抛“砖”的,具体能引出什么样的“玉”,需要开动自己的大脑大胆的去尝试,只有自己学到了,才是自己的。
重要的事情说三遍:多写,多写,多写,我相信代码是写出来的。
让我们在编程之路上一起加油吧~~~
猜你喜欢
- 2025-07-19 Spring Boot集成OAuth2:实现安全认证与授权的详细指南
- 2025-07-19 【实用篇】收到全电发票,怎么查验真伪?
- 2025-07-19 微软Office Open XML中的数字签名漏洞
- 2025-07-19 开具红字增值税专用发票信息表出错,怎么办?
- 2025-07-19 SpringBoot数据校验与优雅处理详解
- 2025-07-19 深入理解 JSR 303:数据校验在 Spring Boot 中的应用
- 2025-07-19 你在 Spring Boot3 开发中,还在为前端接口参数校验头疼?
- 2025-07-19 Spring Boot | 一种优雅的参数校验方案(个人总结)
- 2025-07-19 Spring Boot3 整合 JWT 实现 RESTFul 接口认证
- 2025-07-19 oracle——xmlagg拼接大字段问题(oracle/xdb/xmltype)
- 07-19如何解决#DIV/0! Excel 中的错误(excel div/0是什么意思)
- 07-19你知道"#VALUE!"、"#DIV/0!"等EXCEL错误值都是什么意思吗?
- 07-19Excel遇到#DIV/0、#VALUE!别慌!教你用优雅地屏蔽所有错误值!
- 07-19Excel中#DIV/0!错误详解,新手避坑指南
- 07-19Spring Boot集成OAuth2:实现安全认证与授权的详细指南
- 07-19【实用篇】收到全电发票,怎么查验真伪?
- 07-19微软Office Open XML中的数字签名漏洞
- 07-19开具红字增值税专用发票信息表出错,怎么办?
- 最近发表
-
- 如何解决#DIV/0! Excel 中的错误(excel div/0是什么意思)
- 你知道"#VALUE!"、"#DIV/0!"等EXCEL错误值都是什么意思吗?
- Excel遇到#DIV/0、#VALUE!别慌!教你用优雅地屏蔽所有错误值!
- Excel中#DIV/0!错误详解,新手避坑指南
- Spring Boot集成OAuth2:实现安全认证与授权的详细指南
- 【实用篇】收到全电发票,怎么查验真伪?
- 微软Office Open XML中的数字签名漏洞
- 开具红字增值税专用发票信息表出错,怎么办?
- SpringBoot数据校验与优雅处理详解
- 深入理解 JSR 303:数据校验在 Spring Boot 中的应用
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)