将Struts应用迁移到Struts 2(一) - 编程入门网
将Struts应用迁移到Struts 2(一)时间:2011-03-24大多数人都会熟悉Struts, 无论是从项目实战中获得的经验还是从书中了解到的知识。在这一系列文章里,我们将通过一个由Struts迁移到Struts 2的简单应用例子向大家展现Struts 2的所有特征。 在我们开始介绍这个例子之前,你需要去了解一点Struts 2的背景知识。文章的第一部分将介绍Struts 2与Struts的核心架构的不同点,以助于更好地把所有概念联系起来。第二部分将深入探讨两者在actions上的差别、action相关的框架特征和action的配置。在文章最后一部分将会讲述用户界面。我们会讲到其架构、UI构件、主题和标签,还有如何为我们的应用加上新的外观。 我们并不打算谈及迁移过程的所有细节方面,我们只是从普通的出发点开始介绍Struts 2的概念和现在可用的所有新特征。但拥有这些知识后,无论以后迁移到何等规模的应用到Struts 2中你都可以易如反掌。 导言/历史 Struts的第一个版本是在2001年5月份发布的。它的最初设想是通过结合JSP和Servlet,使Web应用的视图和业务/应用逻辑得以清晰地分离开来。在Struts之前,最常见的做法是在JSP中加入业务和应用逻辑,或者在Servlet中通过println()来生成视图。 自从第一版发布以来,Struts实际上已成为业界公认的Web应用标准。它的炙手可热也为自己带来了改进和变更,所以不但要跟上对Web应用框架不断变化的需求,而且要与日渐增多竞争激烈的众多框架的特性相融合。 到最后,产生了几个下一代Struts的解决方案。其中两个最受瞩目的方案是Shale和Struts Ti。Shale是一个基于构件的框架,并在最近成为Apache的顶级项目。而Struts Ti则是在Struts的成功经验基础上继续坚持对前端控制器(Front Controller)和MVC(model-view-controller)模式进行改进。 WebWork项目是在2002年3月发布的,它对Struts式框架进行了革命性改进,引进了不少新的思想,概念和功能,但和原Struts代码并不兼容。WebWork是一个成熟的框架,经过了好几次重大的改进与发布。 在2005年12月,WebWork与Struts Ti宣布合并。与此同时,Struts Ti改名为Struts Action Framework 2.0,成为Struts真正的继承者。 最后要注意的是,并不是说Struts或WebWork项目已经停止开发了。由于人们对这两个项目的兴趣仍然很高,而且也有很多开发者仍然愿意使用它们,因此这两个项目还在继续开发中,继续修复Bug,改进功能和继续添加新功能。 请求运作过程 在我们开始详细探讨如何把应用由Struts迁移到Struts 2之前,让我们通过体验整个请求流程,看看新架构是如何运作的。 在我们体验了整个请求的生命周期后,你应当注意到很重要的一点——Struts 2仍是以前端控制器框架为主体的。所有的概念还都是你以前所熟悉的。 这意味着: Actions仍然是通过URL触发的 数据仍然是通过URL请求参数和Form参数传送到服务端的 所有Servlet对象(如request、response和session等)仍在Action可用 以下是请求处理过程的高层概览: 将Struts应用迁移到Struts 2(一)(2)时间:2011-03-24整个请求的处理过程可以分为6步: 由框架产生一个请求并进行处理 - 框架根据请求匹配相应的配置,得到使用哪些拦截器,Action类和返回结果的信息。 请求通过一系列的拦截器 - 拦截器和拦截器组可以按照不同级别进行组合配置来处理请求。它们为请求提供各种预处理和切面处理的应用功能。这和Struts的使用Jakarta Commons Chain构件的RequestProcessor类很相似。 调用Action - 产生一个新的Action对象实例,并提供请求所调用的处理逻辑的方法。我们在第二部文章中将对这步骤进行进一步讨论。Struts 2可以在配置Action时为请求分配其指定的方法。 调用相应的Result - 通过匹配处理 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |