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