基于Springmvc的登录权限拦截器

1.什么是拦截器
拦截器是指通过统一拦截从浏览器发往服务端的请求来完成功能的增强。
使用场景:解决请求的共性问题(如:乱码问题,权限验证问题等)
2.拦截器的基本工作原理
springmvc可以通过配置过滤器来解决乱码问题
拦截器的工作原理和过滤器非常相似
3.实现拦截器
(1)编写拦截器类实现HandlerInterceptor接口
(2)将拦截器注册进Springmvc框架中
4.拦截器的方法介绍
(1)preHandle方法,在请求被处理之前进行调用(返回值:表示我们是否需要将当前的请求拦截下来,返回
false,请求被终止,返回true,将继续运行,object arg2 表示的是被拦截的请求的目标对象)
(2)postHandle方法,在请求被处理之后调用(可以通过ModelAndView参数来修改显示的视图,或修改发往
视图的方法)
(3)afterCompletion,在请求结束之后才进行调用(做资源的销毁)
5.拦截器的其他实现方式
(1)拦截器的类还可以通过实现WebRequestInterceptor接口来编写
(2)想springmvc框架注册的写法不变
(3)弊端:preHandle方法没有返回值,不能终止请求
6.拦截器和过滤器的区别:
(1)过滤器依赖于Servlet容器,基于回调函数,雅思报名官网过滤的范围大
(2)拦截器依赖于框架容器,基于反射机制,只过滤请求
7.总结:
(1)拦截器可以处理Web应用中请求的一些通用性问题
(2)共性问题在拦截器中处理,可以减少重复代码,便于维护
下面,我们就写一段实现登陆权限拦截器的代码吧!
一·编写一个继承HandlerInterceptorAdapter的类

二·在springmvc的配置文件中注册改拦截器

三·编写一个获取当前用户的工具类

好了,这样就可以实现登录权限拦截了,是不是很方便快捷啊。

猜你喜欢

转载自www.cnblogs.com/zhangyiqinga/p/9753493.html