web项目实战1-登录校验注解(web登录验证码怎么做)
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文件中加入我们的拦截器即可
到此我们的所有 代码已经完成了。我们只是负责抛“砖”的,具体能引出什么样的“玉”,需要开动自己的大脑大胆的去尝试,只有自己学到了,才是自己的。
重要的事情说三遍:多写,多写,多写,我相信代码是写出来的。
让我们在编程之路上一起加油吧~~~