2007-09-26
《WebWork in action》第五章
第5章: 使用interceptor增加功能
interceptor是WebWork最强大的特性之一,它可以在action和result执行前后进行处理。
一. interceptor如何被调用
1. 使用request封装类访问上传文件
当请求(*.action的请求)进入WebWork的ServletDispatcher的时侯,WebWork会查找该action的位置,然后这些配置会
构建一系列应用于这个action的interceptor。interceptor围绕着action和result的执行过程,当action和result执行
完之后,每个interceptor都会按照相反的次序重新获得控制权。
请求->webwork->interceptor1->interceptor2->action->result->interceptor2->interceptor1->webwork->响应
二. 使用预建的interceptor
1. 工具interceptor
2. 属性设置interceptor
3. 工作流interceptor
绝大多数预建的interceptor都扩展了com.opensymphony.xwork.interceptor.AroundInterceptor, 而不是直接实现Interceptor
接口。
三. 使用预建的interceptor栈
四. 构建你自己的interceptor
interceptor必须是无状态的(没有实例变量),并且不能够使用任何ActionInvocation提供范围以外的API。
示例:
1. 认证:
//暂时放一放,后面补起来 2007-9-25
2. 在result执行之前获得回调控制
//暂时放一放,后面补起来 2007-9-25
五. interceptor vs Filter
1. interceptor并不依赖于servlet容器;
2. interceptor能够访问ActionContext、action和值栈等重要的对象;
3. interceptor和action的生命周期是一样的,filter与request拥有一致的生命周期;
不同的需求,可以在interceptor和Filter间有不同的选择;
interceptor是WebWork最强大的特性之一,它可以在action和result执行前后进行处理。
一. interceptor如何被调用
1. 使用request封装类访问上传文件
当请求(*.action的请求)进入WebWork的ServletDispatcher的时侯,WebWork会查找该action的位置,然后这些配置会
构建一系列应用于这个action的interceptor。interceptor围绕着action和result的执行过程,当action和result执行
完之后,每个interceptor都会按照相反的次序重新获得控制权。
请求->webwork->interceptor1->interceptor2->action->result->interceptor2->interceptor1->webwork->响应
二. 使用预建的interceptor
1. 工具interceptor
2. 属性设置interceptor
3. 工作流interceptor
绝大多数预建的interceptor都扩展了com.opensymphony.xwork.interceptor.AroundInterceptor, 而不是直接实现Interceptor
接口。
三. 使用预建的interceptor栈
四. 构建你自己的interceptor
interceptor必须是无状态的(没有实例变量),并且不能够使用任何ActionInvocation提供范围以外的API。
示例:
1. 认证:
//暂时放一放,后面补起来 2007-9-25
2. 在result执行之前获得回调控制
//暂时放一放,后面补起来 2007-9-25
五. interceptor vs Filter
1. interceptor并不依赖于servlet容器;
2. interceptor能够访问ActionContext、action和值栈等重要的对象;
3. interceptor和action的生命周期是一样的,filter与request拥有一致的生命周期;
不同的需求,可以在interceptor和Filter间有不同的选择;
发表评论
提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则
- 浏览: 4131 次
- 性别:

- 来自: 上海

- 详细资料
搜索本博客
我的相册
me
共 2 张
共 2 张
最近加入圈子
最新评论
-
在Eclipse中创建基于Axis ...
总是报错:invocationTargetException
-- by andy54321 -
《WebWork in action》第 ...
顶邓老师 顶邓老师
-- by wslxg -
在Eclipse中创建基于Axis ...
既然是新手贴,能否将图片传上来?
-- by flyingbob -
使用Axis2 Code Generator ...
[url][list=1] [*] [*][*]引用 [*] [/url] [ ...
-- by zhuliangsoft -
在Eclipse中创建基于Axis ...
不知道 services.xml 是怎么得到的
-- by snowme103






评论排行榜