仓酷云

标题: 来看Struts 2的基石――拦阻器(Interceptor) [打印本页]

作者: 冷月葬花魂    时间: 2015-1-18 11:09
标题: 来看Struts 2的基石――拦阻器(Interceptor)
在性能方面,在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),最初一个一个地挪用列表中的拦阻器,如所示。
来看Struts 2的基石――拦阻器(Interceptor)
登录/注册后可看大图

图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
是一种将安全性(Security)列为第一优先考虑的语言
作者: 透明    时间: 2015-1-20 20:13
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
作者: 仓酷云    时间: 2015-1-29 20:18
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
作者: 飘灵儿    时间: 2015-2-2 22:34
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
作者: 冷月葬花魂    时间: 2015-2-8 16:34
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
作者: 灵魂腐蚀    时间: 2015-2-25 20:49
是一种为 Internet发展的计算机语言
作者: 深爱那片海    时间: 2015-3-8 03:12
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
作者: 金色的骷髅    时间: 2015-3-15 20:22
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
作者: 谁可相欹    时间: 2015-3-22 04:07
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2