- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3.4.4 自定义拦截器 自定义的拦截器 所谓自定义的拦截器,就是由我们自己定义并实现的拦截器,而不是由Struts2定义好的拦截器。 在Struts2中编写拦截类,有如下二种方式: 实现Interceptor此接口 继承AbstractInterceptor类(一般会选择此种方式) 3.4.4 自定义拦截器 Interceptor此接口 在Struts2里面,要实现自定义的拦截器是非常简单的,只要写一个实现Interceptor接口的类就可以了。所有的拦截器都要实现erceptor.Interceptor接口,这个接口中定义如下: public interface Interceptor extends Serializable { void destroy(); void init(); String intercept(ActionInvocation invocation) throws Exception; } 方法的基本说明如下: init方法就类似于构造方法,用于初始化一些相关资源 destory方法类似于析构方法,用于释放资源 intercept方法,就是拦截器执行的处理方法,我们要实现的功能主要就写在这个方法里面。 3.4.4 自定义拦截器 截拦器是一个继承自AbstractInterceptor抽象类或实现Interceptor接口的类,可以重写的方法: public void init():执行初始化动作 public void destroy():执行销毁动作 String intercept(ActionInvocation invocation):执行截拦动作 参数invocation:包含了Action的引用, invocation.invoke()方法用于将控制权转给下一个截拦器或者调用Action的execute()方法. 返回值为逻辑视图 AbstractInterceptor为init和destroy方法提供了默认实现. 3.4.4 自定义拦截器 编写拦截器类 无论选择哪种方式创建拦截器,都需要对下述三个方法进行override。三个方法如下: void init(); 此方法在拦截器实例创建之后,intercept()方法被调用之前调用,用于初始化拦截器所需要资源。 void destroy(); 该方法在拦截器实例清除之前调用,用于释放在init()方法中分配的资源。该方法只执行一次。 String intercept(ActionInvocation invocation) throws Exception; 该方法在Action执行之前被调用,拦截器为Action提供的附加功能在该方 法中实现。利用invocation参数,可以获取action执行的状态。在intercept()方法中,如果要继续执行后续部分,可以调用invocation.invoke()。 对于intercept方法,再说明几点: (1)在intercept方法中写“invocation.invoke();”,这句话的意思是继续运行拦截器后续的处理,如果这个拦截器后面还有拦截器,那么会继续运行,一直到运行Action,然后执行Result。如果intercept方法中没有写“invocation.invoke();” 就不再继续向后运行了,换句话说,后续的拦截器和Action就不再执行了。而是在这里返回Result字符串,直接去进行Result处理了。 (2)在“invocation.invoke();”这句话之前写的功能,会在Action运行之前执行 3.4.4 自定义拦截器 (3)在“invocation.invoke();”这句话之后写的功能,会在Result运行之后执行 (4)intercept方法的返回值就是最终要返回的Result字符串,这个只是在前面没有执行Result的时候才有效,也就是前面没有“invocation.invoke();”这句话的时候,这个返回值就相当于是最终要返回的Result字符串,然后才执行相应的Result处理。 3.4.4 自定义拦截器——定义拦截器类 public class AroundInterceptor extends AbstractInterceptor { public void init(){System.out.println(“这是一个初始化方法”)} public String intercept(ActionInvocation invocation) throws Exception { String result=; S
您可能关注的文档
- GPS测量原理及应用:第一章 绪论.pptx
- 材料力学性能第一章 材料在单向静拉伸载荷下的力学性能3a.pptx
- 检测技术与海洋智能仪器:光栅传感器.ppt
- 检测技术与海洋智能仪器:霍尔传感器应用实例.ppt
- 检测技术与海洋智能仪器:霍尔式传感器.ppt
- 检测技术与海洋智能仪器:热电偶测温.ppt
- 空间分析-第5讲:空间回归(简).ppt
- 空间分析-第6讲:空间插值与地统计.ppt
- 空间分析-第8讲:智能化空间分析.ppt
- 空间数据库课件:DB1-1 数据库系统概述.ppt
- 信息系统软件设计:第5章 Hibernate持久层技术(2).ppt
- 信息系统软件设计:第5章 Hibernate持久层技术(3).ppt
- 信息系统软件设计:看懂JSP必须要懂的程序.ppt
- 信息系统软件设计:看懂struts必须要懂的程序(1).ppt
- 信息系统软件设计:要懂Hibernate必须要懂的程序.ppt
- 信息系统软件设计:要懂Hibernate必须要懂的程序(2).ppt
- 信息系统软件设计:要懂Spring必须要懂的程序.ppt
- 信息系统软件设计:要懂Struts必须要懂的程序(2).ppt
- 运动控制系统第一章 可控直流电源-电动机系统.ppt
- 自动化仪表与过程控制:总结.ppt
最近下载
- 艾滋病防治知识讲座.pptx VIP
- T∕ZZB 2086-2021 塑料拖链标准规范.docx VIP
- 2025年文化教育职业技能考试-钢琴调律师考试近5年真题集锦(频考类试题)带答案.docx
- 高清版40篇短文搞定3500词.pdf VIP
- 分流职员申请表标准模板.docx VIP
- 人教版(2024年新教材)七年级上册英语Unit 2 We're Family 单元整体教学设计.docx VIP
- 急诊手术患者围术期肺保护管理策略专家共识解读PPT课件.pptx VIP
- 基于临床实践出血性疾病动态危急值专家共识2024版解读.pptx VIP
- 绘本《我家是动物园》.ppt VIP
- 广州数控GSK928TF 车床数控系统 使用手册 速印版2009-5-13.pdf
文档评论(0)