没有合适的资源?快使用搜索试试~ 我知道了~
struts2拦截器拦截器的概念 配置拦截器 使用拦截器
资源详情
资源评论
资源推荐
IBM Software Group
IBM Software Group
学习目标
拦截器的概念
配置拦截器
使用拦截器
IBM Software Group
IBM Software Group
拦截器的概念
拦截器 (Interceptor) 是动态拦截 Action 调用的对象,类似于 Servlet 中的过滤器。在执
行 Action 的业务逻辑处理方法 (execute()) 之前, Struts2 会首先执行在 struts.xml 中引
用的拦截器。
拦截器是 struts2 的一个重要特性。 Struts2 框架的大多数核心功能都是通过拦截器来
实现的,像避免表单重复提交、类型转换、对象组装、验证、文件上传等,都是在拦截
器的帮助下实现的。拦截器之所以称为“拦截器”,是因为它可以在 Action 执行之前和执
行之后拦截调用。
Struts2 将它的核心功能放到拦截器中实现,而不是分散到 Action 中实现,有利于系统
的解耦,使得功能的实现类似于个人电脑的组装,变成了可插拔的,需要某个功能就“
插入”一个拦截器,不需要某个功能就“拔出”一个拦截器。你可以任意组合拦截器来为
Action 提供附加的功能,而不需要修改 Action 的代码。
IBM Software Group
IBM Software Group
拦截器的工作方式
拦截器围绕着 Action 和 Result 的执行而执行,其工作方式如图:
从图中可以看到,在 Action 和 Result 执行之前,为 Action 配置的拦截器将首先被执行
,在 Action 和 Result 执行之后,拦截器将重新获得控制权,然后按照与先前调用相反
的顺序依次执行。在整个执行过程中,任何一个拦截器都可以选择直接返回,从而终止
余下的拦截器、 Action 和 Result 的执行。例如:当一个未授权的用户访问受保护的资
源时,执行身份验证的拦截器可以直接返回。
IBM Software Group
IBM Software Group
Struts2 内置拦截器
Struts2 内建了大量的拦截器,这些拦截器以 name-class 对的形式配置在
struts-default.xml 文件中,其中 name 是拦截器的名字,就是以后使用该拦截器的唯一
标识; class 则指定了该拦截器的实现类,如果我们定义的 package 继承了 Struts2 的
struts-default 包,则可以自由使用下面定义的拦截器,否则必须自己定义这些拦截器。
IBM Software Group
IBM Software Group
Struts2 内置拦截器
大部分时候,开发者无需手动控制这些拦截器,因为 struts-default.xml 文件中已经配置了这
些拦截器,只要我们定义的包继承了系统的 struts-default 包,就可以直接使用这些拦截器。
剩余35页未读,继续阅读
interceptor2012
- 粉丝: 1
- 资源: 20
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0