|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
C#跟java类似,但是在跨平台方面理论上可以跨平台,实际上应用不大,执行性能优于java,跟C++基本一致,但是启动速度还是慢.代码安全,但容易性能陷阱.对照 基于Web的MVCframework在J2EE的天下内已经是绝后昌盛。TTS网站上几近每隔一两个礼拜就会有新的MVC框架公布。今朝对照好的MVC,老牌的有Struts、Webwork。新兴的MVC框架有SpringMVC、Tapestry、JSF等。这些年夜多是出名团队的作品,别的另有一些边沿团队的作品,也相称杰出,如Dinamica、VRaptor等。这些框架都供应了较好的条理分开才能。在完成优秀的MVC分开的基本上,经由过程供应一些现成的帮助类库,同时也增进了临盆效力的进步。
怎样选择一个好的框架使用在你的项目中,将会对你的项目标效力和可重用是相当主要的。本文将对今朝最盛行、最经常使用的两种framework举行先容。
1、Struts
Struts是Apache软件基金下Jakarta项目标一部分。Struts框架的次要架构计划和开辟者是CraigR.McClanahan。Struts是今朝JavaWebMVC框架中不争的王者。经由长达五年的开展,Struts已渐渐发展为一个不乱、成熟的框架,而且占据了MVC框架中最年夜的市场份额。可是Struts某些手艺特征上已掉队于新兴的MVC框架。面临SpringMVC、Webwork2这些计划更严密,扩大性更强的框架,Struts遭到了亘古未有的应战。但站在产物开辟的角度而言,Struts仍旧是最稳妥的选择。
Struts有一组互相合作的类(组件)、Serlvet和jsptaglib构成。基于struts构架的web使用程序基础上切合JSPModel2的计划尺度,能够说是MVC计划形式的一种变更范例。依据下面对framework的形貌,我们很简单了解为何说Struts是一个webframwork,而不单单是一些标志库的组合。但Struts也包括了丰厚的标志库和自力于该框架事情的有用程序类。Struts有其本人的把持器(Controller),同时整合了其他的一些手艺往完成模子层(Model)和视图层(View)。在模子层,Struts能够很简单的与数据会见手艺相分离,包含EJB,JDBC和ObjectRelationBridge。在视图层,Struts可以与JSP,VelocityTemplates,XSL等等这些暗示层组件想分离。
Struts的系统布局
strutsframework是MVC形式的表现,上面我们就从分离从模子、视图、把持来看看struts的系统布局(Architecture)。
从视图角度(View)
次要由JSP创建,struts本身包括了一组可扩大的自界说标签库(TagLib),能够简化创立用户界面的历程。今朝包含:BeanTags,HTMLTags,LogicTags,NestedTags,TemplateTags 这几个Taglib。有关它们的具体材料请参考struts用户手册
从模子角度(Model)
模子次要是暗示一个体系的形态(偶然候,改动体系形态的营业逻辑操纵也也分别到模子中)。在Struts中,体系的形态次要有ActiomFormBean表现,一样平常情形下,这些形态长短耐久性的。假如必要将这些形态转化为耐久性数据存储,Struts自己也供应了Utitle包,能够便利的与数据库操纵
从把持器角度(Controller)
在Strutsframework中,Controller次要是ActionServlet,可是关于营业逻辑的操纵则次要由Action、ActionMapping、ActionForward这几个组件和谐完成(大概这几个组件,应当分别到模子中的营业逻辑一块)。个中,Action饰演了真实的营业逻辑的完成者,而ActionMapping和ActionForward则指定了分歧营业逻辑或流程的运转偏向。
关于Struts怎样把持、处置客户哀求,让我们经由过程对struts的四个中心组件先容来详细申明。这几个组件就是:ActionServlet。ActionClasses,ActionMapping(此处包含ActionForward),ActionFromBean。
2、Spring
Spring实践上是ExpertOne-on-OneJ2EEDesignandDevelopment一书中所论述的计划头脑的详细完成。在One-on-One一书中,RodJohnson倡议J2EE有用主义的计划头脑,并随书供应了一个开端的开辟框架完成(interface21开辟包)。而Spring恰是这一头脑的更周全和详细的表现。RodJohnson在interface21开辟包的基本之上,举行了进一步的改革和扩大,使其开展为一个加倍开放、明晰、周全、高效的开辟框架。
Spring是一个开源框架,由RodJohnson创立而且在他的著作《J2EE计划开辟编程指南》里举行了形貌。它是为懂得决企业使用开辟的庞大性而创立的。Spring使利用基础的JavaBeans来完成之前只大概由EJB完成的事变变得大概了。但是,Spring的用处不但限于服务器真个开辟。从复杂性、可测试性和松耦合的角度而言,任何Java使用都能够从Spring中受害。
复杂来讲,Spring是一个轻量的把持反转和面向切面的容器框架。固然,这个形貌有点过于复杂。但它切实其实归纳综合出了Spring是做甚么的。为了更好地舆解Spring,让我们剖析一下这个形貌:
1、轻量,从巨细与开支两方面而言Spring都是轻量的。完全的Spring框架能够在一个巨细只要1MB多的JAR文件里公布。而且Spring所需的处置开支也是微乎其微的。别的,Spring长短侵进式的:典范地,Spring使用中的对象不依附于轻量??从巨细与开支两方面而言Spring都是轻量的。完全的Spring框架能够在一个巨细只要1MB多的JAR文件里公布。而且Spring所需的处置开支也是微乎其微的。别的,Spring长短侵进式的:典范地,Spring使用中的对象不依附于Spring的特定类。
2、把持反转??Spring经由过程一种称作把持反转(IoC)的手艺增进了松耦合。当使用了IoC,对象主动地传送它们的依附而不是本人创立大概查找依附对象。你能够以为IoC与JNDI相反??不是对象沉着器中查找依附,而是容器在对象初始化时不等被哀求就将依附传送给它。
3、面向切面??Spring包括劈面向切面编程的丰厚撑持,同意经由过程分别使用的营业逻辑与体系服务(比方审计与事物办理)举行内聚性的开辟。使用对象只做它们应当做的??完成营业逻辑??仅此罢了。它们其实不卖力(乃至是认识)别的的体系存眷点,比方日记或事物撑持。
4、容器??Spring包括和办理使用对象的设置和性命周期,在这个意义上它是一种容器。你能够设置你的每一个bean怎样被创立??基于一个设置本相为你的bean创立一个独自的实例大概每次必要时都天生一个新的实例??和它们是怎样互相联系关系的。但是,Spring不该该被混淆于传统的分量的EJB容器,它们常常是复杂与粗笨的,难以利用。
框架:Spring使由复杂的组件设置和组合庞大的使用成为大概。在Spring中,使用对象被声明式地组合,典范地是在一个XML文件里。Spring也供应了良多基本功效(事件办理、耐久性框架集成等等),将使用逻辑的开辟留给了你。
一切Spring的这些特性使你可以编写更洁净、更可办理、而且更容易于测试的代码。它们也为Spring中的各类子框架供应了基本。
他们对jsp,servlet,javabean进行封装就是为了展示他们的某个思想,与java的开发并没有必然的关系,也不见得在所以情况下,别人使用起来会简单。 |
|