2.2 Struts2技术
继Struts技术之后,经过改良的新版本Struts2也被开发出来,Struts2框架将Struts框架和WebWork框架的特点结合到了一起。Struts2相比于Struts来讲,性能有了极大程度上的提高,该框架不再使用ActionForm,减少了各个组件之间的相互影响,Struts2中使用了Action类,使各个模块井井有条,测试起来非常方便。Struts2提供强大的集成,它提供了各种各样的struts2结果返回类型,改良了struts的自定义标签库,同时引入了令人耳目一新的OGNL和值栈的概念,大大降低了系统开发的复杂度。
Sruts2是一个开源软件(open-source),程序员可以根据自己的需要去改变它的源代码,这是它的一个很重要的优势,开发者可以对其运行的内部机制有更加清楚的理解。除此之外,Struts2还具有一下两个特点:
标签库:Taglib是Struts2框架的自定义标签库,开发者可以根据自己的需要,灵活地对其进行改变。在struts2框架推出之前,中国的JSP网页开发者一般只会使用JSP自带的常用标签,而不会去研发自己的标签。现在很多企业或者开发人员都积极去研发新的标签库,这是一个好现象。
页面导航:页面导航其实就是一个配置文件,它记录了整个系统的结构关系。一个开发队伍在接手一个项目的时候,就可以通过页面导航来了解整个系统的各个部分之间的联系。这对于系统的文护以及功能的拓展都有着极大的好处。
然而,没有什么框架是完美无缺的,都或多或少存在一些问题。测试工作的困难是广大开发者公认的struts2的缺点之一。越庞大的系统,测试工作的难度就越大,编写测试用例也很不方便。新推出的测试框架Struts Test尽管在一定程度上改善了这个问题,但开发团队还是不得不在测试工作上花费很多的人力物力。
2.2.1 Struts2的优点
(1) Struts2技术是以MVC框架为基础,框架结构简单明了,技术人员在不会因为繁琐的框架结构而浪费时间。在项目开发的过程中,一个具体功能的研发流程是:得到一个的功能需求文档和设计好的前台界面,分析系统从前台传来哪些参数,确定传来参数变量的名称,在Action方法里定义与参数相应的变量,经过处理的参数怎样在前台显示,同时使用struts2提供的一些系统专用的控件将页面上对应的控件适替换,编写Action对方法来实现相应功能,最后,在配置文件中进行相应的设置。当然实际的开发过程比这个要复杂的多,涉及到数据库,核对,异常处理等。在使用Struts2框架来开发系统的过程中,开发者可以把注意力集中在如何具体功能上,使开发的过程显得十分清晰明了。
(2) Struts2构架中的核心思路就是系统模块化,开发者可以使用四种方式使系统模块化:首先把配置文件中的信息分割成几段不同的信息。然后把自身包含的应用模块定义为插件,创建一个全新的框架特征,也就是把与特定的应用不相关的新功能转化为插件,加入到各个系统中去。
(3) 当系统发现异常时,在配置文件会对异常进行相应处理。当系统运行的时候出现指定异常时,就可以跳转到相应的页面,这个功能非常便利。
(4) Pojo是一个java对象,他的使用极大程度上方便了jsp项目的测试工作。
(5) 由于Struts2是一个开放源框架,对它可以进行添加扩展是意见非常方便的事情,把所需的Jar包放在lib文件夹中,对struts.xml文件中的配置进行一些简单的修改就可以达到功能扩展的目的。
(6) 通过OGNL实现参数传递。通过OGNL可以获得访问Struts2中各个作用域中数据的方法,可以很轻易地得到Session,Request,Attribute,Parameters,Application中的数据。从而使程序员更加轻松地获得这些数据。 JSP公司会议室预定管理系统的设计与实现(4):http://www.youerw.com/jisuanji/lunwen_12115.html