仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 493|回复: 9
打印 上一主题 下一主题

[学习教程] 来看Struts 2的基石――拦阻器(Interceptor)

[复制链接]
冷月葬花魂 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:09:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
在性能方面,在windows平台下,.net可能是占强项,要是把.net放在sun开发的操作系统上去运行呢?根本就运行不了,.net对其它操作系统的支持也很弱,性能也可能比不上java。
假如人人但愿疾速开辟,一个相似Struts2如许的复杂便利的WEB框架必不成少。我们在开辟DEMO利用的仍是Struts1.2.8,并且没有不利用任何EL(表达式言语),招致页面呈现有数相似“<%=((Integer)request.getAttribute("xx")).intValue()%6%>”的代码。Struts1.x的FormBean的贫苦使得有部分同事间接利用request.getParameter(Stringarg),继而引进另外一种贫苦。诸云云类的成绩,在DEMO如许工夫紧急的项目凸显了Struts1.x对疾速开辟的力所不及。不外没举措,因为我们项目中的几个资深员工除Struts1.x外,对别的的WEB框架仿佛不年夜感乐趣。
言回正传,Interceptor(以下译为拦阻器)是Struts2的一个强无力的工具,有很多功效(feature)都是构建于它之上,如国际化、转换器,校验等。
甚么是拦阻器
拦阻器,在AOP(Aspect-OrientedProgramming)顶用于在某个办法或字段被会见之前,举行拦阻然后在之前或以后到场某些操纵。拦阻是AOP的一种完成战略。
在Webwork的中文文档的注释为——拦阻器是静态拦阻Action挪用的对象。它供应了一种机制可使开辟者能够界说在一个action实行的前后实行的代码,也能够在一个action实行前制止其实行。同时也是供应了一种能够提取action中可重用的部分的体例。
谈到拦阻器,另有一个词人人应当晓得——拦阻器链(InterceptorChain,在Struts2中称为拦阻器栈InterceptorStack)。拦阻器链就是将拦阻器按必定的按次联合成一条链。在会见被拦阻的办法或字段时,拦阻器链中的拦阻器就会按其之前界说的按次被挪用。
完成道理
Struts2的拦阻器完成绝对复杂。当哀求抵达Struts2的ServletDispatcher时,Struts2会查找设置文件,并依据其设置实例化绝对的拦阻器对象,然后串成一个列表(list),最初一个一个地挪用列表中的拦阻器,如所示。

图1 拦阻器挪用序列图
已有的拦阻器
Struts2已为您供应丰厚多样的,功效完全的拦阻器完成。人人能够到struts2-all-2.0.1.jar或struts2-core-2.0.1.jar包的struts-default.xml检察关于默许的拦阻器与拦阻器链的设置。
在本文利用是Struts2的最新公布版本2.0.1。必要下载的伴侣请点击以下链接:
http://apache.justdn.org/struts/binaries/struts-2.0.1-all.zip
<p>
但是一些大型开发或者是保密型比较高的项目都会用java,原因有2点,一:java是开源的,不怕别人留后门,偷我工具,.net就不一样了,保持微软的一向风格,源代码不公开
简单生活 该用户已被删除
沙发
发表于 2015-1-20 15:19:49 | 只看该作者
是一种将安全性(Security)列为第一优先考虑的语言
透明 该用户已被删除
板凳
发表于 2015-1-20 20:13:46 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
地板
发表于 2015-1-29 20:18:06 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
飘灵儿 该用户已被删除
5#
发表于 2015-2-2 22:34:00 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
冷月葬花魂 该用户已被删除
6#
 楼主| 发表于 2015-2-8 16:34:34 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
灵魂腐蚀 该用户已被删除
7#
发表于 2015-2-25 20:49:17 | 只看该作者
是一种为 Internet发展的计算机语言
深爱那片海 该用户已被删除
8#
发表于 2015-3-8 03:12:22 | 只看该作者
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
金色的骷髅 该用户已被删除
9#
发表于 2015-3-15 20:22:42 | 只看该作者
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
谁可相欹 该用户已被删除
10#
发表于 2015-3-22 04:07:51 | 只看该作者
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 21:21

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表