第四章Struts拦截器.pptVIP

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章Struts拦截器.ppt

第四章 Struts2拦截器 本章主要内容 4.1 一个简单的Struts2拦截器 4.2 什么是拦截器 4.3 Struts2拦截器实现原理 4.4 Struts2已有的拦截器 4.5 配置和使用拦截器 4.6 自定义拦截器 4.1 一个简单的Struts2拦截器 拦截器timer Action只是让线程暂停5秒,来模拟后台操作消耗的时间 。参看教程4.1的示例。 4.1 一个简单的Struts2拦截器 拦截器timer 只要在struts.xml中配置一句话,就可以使用拦截器了 。参看教程4.1节的配置文件示例。我们配置了一个拦截器timer。 4.1 一个简单的Struts2拦截器 拦截器timer 至于JSP页面可以随意写些什么到里面。发布运行应用程序,在页面显示后,查看服务器的后台输出 。 Timer拦截器可以显示执行某个action方法的耗时,在我们做一个粗略的性能调试时,这相当有用 。 4.2 什么是拦截器 拦截器,在AOP(Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作。拦截是AOP的一种实现策略。 在 Struts2的中文文档的解释为——拦截器是动态拦截Action调用的对象。它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行。同时也是提供了一种可以提取action中可重用的部分的方式 。 4.2 什么是拦截器 谈到拦截器,还有一个词大家应该知道——拦截器链(Interceptor Chain,在Struts 2中称为拦截器栈Interceptor Stack)。拦截器链就是将拦截器按一定的顺序联结成一条链。在访问被拦截的方法或字段时,拦截器链中的拦截器就会按其之前定义的顺序被调用 。 4.3 Struts2拦截器实现原理 4.4 Struts2已有的拦截器 Struts 2已经为您提供丰富多样的,功能齐全的拦截器实现。大家可以到struts2-all-2.0.1.jar或struts2-core-2.0.1.jar包的struts-default.xml查看关于默认的拦截器与拦截器链的配置 。 下面是从struts-default.xml文件摘取的部分内容 。详细参看教材4.4节的配置文件部分。 4.5 配置和使用拦截器 在struts-default.xml中已经配置了以上的拦截器。如果您想要使用上述拦截器,只需要在应用程序struts.xml文件中通过“include file=”struts-default.xml“ /”将struts-default.xml文件包含进来,并继承其中的struts-default包(package),最后在定义Action时,使用interceptor-ref name=“xx”/引用拦截器或拦截器栈(interceptor stack)。 一旦您继承了struts-default包(package),所有Action都会调用拦截器栈 ---defaultStack。当然,在Action配置中加入“interceptor-ref name=xx /”可以覆盖defaultStack。 4.6 自定义拦截器 虽然,Struts 2为我们提供如此丰富的拦截器实现,但是这并不意味我们失去创建自定义拦截器的能力,恰恰相反,在Struts 2自定义拦截器是相当容易的一件事 。 所有的Struts 2的拦截器都直接或间接实现接口com.opensymphony.xwork2.interceptor.Interceptor。除此之外,大家可能更喜欢继承类com.opensymphony.xwork2.interceptor.AbstractInterceptor 。 Struts2的拦截器是无状态的,因为Struts 2不能保证为每一个请求或者action创建一个实例,所以如果拦截器带有状态,会引发并发问题。 4.6 自定义拦截器 4.6 自定义拦截器 1.需要新建客户端页面login.jsp、引入strtus2的jar包,并注册Struts2的核心控制器FilterDispatcher到web,xml中; 2.Struts2的核心控制器根据请求生成LoginAction的动态代理类,并向该代理类转发客户端请求,这意味着需要编写LoginAction.java并将该Action注册到struts.xml中; 3 LoginAction的动态代理类向LoginAction发出调用请求,拦截器AuthorizationIntercepto

文档评论(0)

整理王 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档