拦截器和过滤器的区别
来源:互联网 发布:我国粮食产量 知乎 编辑:程序博客网 时间:2024/05/17 03:20
2、过滤器依赖与servlet容器,而拦截器不依赖与servlet容器
3、拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用
4、拦截器可以访问action上下文、值栈里的对象,而过滤器不能
5、在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次
拦截器 :是在面向切面编程的就是在你的service或者一个方法,前调用一个方法,或者在方法后调用一个方法比如动态代理就是拦截器的简单实现,在你调用方法前打印出字符串(或者做其它业务逻辑的操作),也可以在你调用方法后打印出字符串,甚至在你抛出异常的时候做业务逻辑的操作。
所谓回调,就是客户程序C调用服务程序S中的某个函数A,然后S又在某个时候反过来调用C中的某个函数B,对于C来说,这个B便叫做回调函数。例如Win32下的窗口过程函数就是一个典型的回调函数。一般说来,C不会自己调用B,C提供B的目的就是让S来调用它,而且是C不得不提供。由于S并不知道C提供的B姓甚名谁,所以S会约定B的接口规范(函数原型),然后由C提前通过S的一个函数R告诉S自己将要使用B函数,这个过程称为回调函数的注册,R称为注册函数。Web Service以及Java的RMI都用到回调机制,可以访问远程服务器程序。
下面举个通俗的例子:
某天,我打电话向你请教问题,当然是个难题,^_^,你一时想不出解决方法,我又不能拿着电话在那里傻等,于是我们约定:等你想出办法后打手机通知我,这样,我就挂掉电话办其它事情去了。过了XX分钟,我的手机响了,你兴高采烈的说问题已经搞定,应该如此这般处理。故事到此结束。这个例子说明了“异步+回调”的编程模式。其中,你后来打手机告诉我结果便是一个“回调”过程;我的手机号码必须在以前告诉你,这便是注册回调函数;我的手机号码应该有效并且手机能够接收到你的呼叫,这是回调函数必须符合接口规范。
通过上面个人感觉到回调更多的应用就是结合异步。比如:Ajax中js通过组件和服务器的异步通信。
- 过滤器和拦截器的区别
- 过滤器和拦截器的区别
- 过滤器和拦截器的区别
- java_过滤器和拦截器的区别
- 拦截器和过滤器的区别
- 过滤器和拦截器的区别
- 拦截器和过滤器的区别
- 过滤器和拦截器的区别
- 拦截器和过滤器的区别
- 拦截器和过滤器的区别
- 拦截器和过滤器的区别?
- 过滤器和拦截器的区别
- 拦截器和过滤器的区别
- 拦截器和过滤器的区别
- 过滤器、拦截器和监听器的区别
- 过滤器和拦截器的区别
- 过滤器和拦截器的区别
- 过滤器和拦截器的区别
- CToolBarCtrl,在工具栏中增加一个与按钮长度不一样宽的静态文本
- 使用zkweb维护zookeeper数据
- [DIV/CSS] Vue.js 开发实践:实现精巧的无限加载与分页功能
- 各种数据库连接串的配置收集
- xUtils API 文档
- 拦截器和过滤器的区别
- 终于解决!!RF切换工作目录,调用其他目录中的python函数,搞屎我了
- oracle调试存储过程
- iBATIS教程 (二)环境的安装和配置,以及一个简单的例子
- struts2中xml标签总结
- iOS --- KVO
- js目标时间与当前时间差转换年月日天数
- QTableWidget中表格显示图片
- GL_BOOK_10