20210630拦截器和过滤器的区别,关系型数据库与非关系型数据库区别
Posted 李晓LOVE向阳
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20210630拦截器和过滤器的区别,关系型数据库与非关系型数据库区别相关的知识,希望对你有一定的参考价值。
一、二者理解
过滤器(Filter)
过滤器,是在java web中将你传入的request、response提前过滤掉一些信息,或者提前设置一些参数。然后再传入Servlet或Struts2的 action进行业务逻辑处理。比如过滤掉非法url(不是login.do的地址请求,如果用户没有登陆都过滤掉),或者在传入Servlet或Struts2的action前统一设置字符集,或者去除掉一些非法字符。
拦截器(Interceptor)
拦截器,是面向切面编程(AOP,Aspect Oriented Program)的。就是在你的Service或者一个方法前调用一个方法,或者在方法后调用一个方法。比如动态代理就是拦截器的简单实现,在你调用方法前打印出字符串(或者做其它业务逻辑的操作),也可以在你调用方法后打印出字符串,甚至在你抛出异常的时候做业务逻辑的操作。
通俗理解:
(1)过滤器(Filter):当你有一堆东西的时候,你只希望选择符合你要求的某一些东西。定义这些要求的工具,就是过滤器。(理解:就是一堆字母中取一个B)
(2)拦截器(Interceptor):在一个流程正在进行的时候,你希望干预它的进展,甚至终止它进行,这是拦截器做的事情。(理解:就是一堆字母中,干预它,通过验证的少点,顺便干点别的东西)
二、拦截器与过滤器的区别
区别:
①:拦截器是基于java的反射机
以上是关于20210630拦截器和过滤器的区别,关系型数据库与非关系型数据库区别的主要内容,如果未能解决你的问题,请参考以下文章