选择显示字体大小

学习jakarta struts 1.1 (一)

译者: fpwang
by sue spielman
11/06/2002

译者注:本文是关于jakarta struts 1.1的文章中的前半部分。文中一部分是出自sue spielman的书《the struts framework: practical guide for java programmers (morgan-kaufmann) / struts框架java程序员实用指南》。这本书是市场上全面的详细的介绍struts 1.1的首批图书。你可以通过sue的邮箱(sspielman@switchbacksoftware.com)与他联系。

   去年,struts框架(一个jakarta的开元项目)事实上已经变成了建立web应用的实际标准。struts已经证明自己是一种基于mvc模式架构的可靠的框架,能够被用于各种系统。事实上,我是被迫要提出一个理由来解释为什么我和我的开发团队要为项目花费一个开发定制mvc模式框架的周期。这有点令人无法理解。

   struts v1.1是这个框架的最新版本。写本文时struts v1.1还是beta2版,不久就会推出最终版。要你现在开始学习使用 v1.1版,似乎没什么理由,可为什么不呢;其实有很多理由说明我们因该使用这一版。

   本文一共有两部分。在第一部分这里,我们概括地介绍一下jakarta通用库的集成与多应用支持。第二部分里将着重介绍嵌套的标记库、插件api以及异常处理声明。新版本对框架已经进行了一些重要的改进,并且你有可能希望用这一版本开始新的开发。事实上,我强烈建议这么做。保持v1.0.2版的向后兼容性是struts项目参与者永远的目标,并且他们在v1.1这一版本中完成得非常好。本文最后将指出一些从v1.0.2版到v1.1版进行升级时需要注意的问题。

   本文并不是struts的入门读物。我们假设你已经熟悉了这一体系架构中的各个组件。如果你需要先看一看入门介绍,请看我写的对于struts框架的三部分介绍(http://www.onjava.com/pub/a/onjava/2001/09/11/jsp_servlets.html)。


更新

  在整个v1.1版本的开发中对struts已经有了令人激动的特性和改进。我们会轮流介绍它们,但是之前我们先来看看都有哪些更新。
        jakarta通用库的使用,例如beanutil与logging;
        dynaactionforms可不用编写任何代码创建动态的动作表单;
        多应用支持允许定义多个struts-config.xml配置文件;
        嵌套的标记库使在jsp页中可以很容易的访问嵌套的对象体系;
        tiles与validator提供了高级的模板以及表单验证表达式;
        插件api可以增强actionservlet的功能;
        异常处理声明使actions不必关心捕获到的所有异常。
下面让我们逐个的看一看每个特性。

jakarta通用库的集成

  struts工具包可以解决在创建web应用时不断出现的问题。这个包中的大部分类不依赖于控制器servlet框架或定制的标记库,因此它们可被用于一般的java应用编程。在struts 1.1版本中,这个包中的许多类被移植到jakarta的公共项目中。这些类包括bean工具,colections,以及digester包。struts中提供的logging实际上来自于公共项目.

   org.apache.commons.beanutils组件封装了java的reflection与introspection应用编程接口(api)。使用beanutils包中的类,可在未知方法名编译的情况下动态的调用getter与setter方法。这些类用struts的定制标记库调用,因此可以为你的应用定义附加的定制标记,你也许想要进一步了解这个包中的可用内容。表1列出了这些。

表1:struts 1.1中的通用包
beanutils        通过反射组装javabeans属性
convertutils        将字符串值转换为指定类的对象
mappedpropertydescriptor        描述与映射属性
methodutils        集中于大体的方法上而不是属性等细节上
propertyutils        使用java reflection应用编程接口(api)对一般属性进行setter(设置值)与getter(获取值)操作

   digester包提供了基于xml文档的规则。这么做对读取配置文件非常重要,便于正确的初始化对象。这个包可是你非常简单的完成这些事否则就需要你更深入地了解dom或sax的处理。当xml中的模式被验证后,这些可通过指定了规则的对象映射模块来完成。这包括嵌入你自己模式匹配的引擎的能力,合法命名空间的处理,以及用于多应用并且封装了规则的rulesets。如果你明确的读取xml文件别需要映射为适当的java对象,digester包是十分有用的。


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons