2006/12/07 00:07
1.1. 关于本书
欢迎你阅读《Struts In Action》。本书的目的是帮助Web 应用开发者能够最好的使用Struts
web 应用框架。
Struts 是一个开源软件,有助于开发者更加快速和容易地建立Web 应用程序。Struts 依靠
绝大多数开发者已熟知的标准技术—比如JavaBeans, Java servlet, 以及 JavaServer Page
(JSP)。通过基于标准的技术,“填空式”的软件开发方法,Struts 可以减轻在创建新项目时
那些令人抱怨的极费时间的工作。
1.1.1. 谁创建了Struts?
Struts 是Apache 软件基金下Jakarta 项目子项目。除Struts 之外, 还有其他成功的开源产
品,包括Tomcat, Ant, 和 Velocity。
开始的代码基础从2000 年5 月开始开发,直到2001 年6 月,1.0 版本发布。有 30 多个开
发者参与进来,并有数千人参与到讨论组中。Struts 代码基础由一个志愿者团队来管理。
到 2002 年,Struts 小组共有9 个志愿者参与。
Struts 框架的主要架构设计和开发者是Craig R. McClanahan。Craig 也是Tomcat 4 的主
要架构师,以及Java Web Services Developer Pack 的主要架构师和实现者。他现在是Sun
的JavaServer Faces (JSR-127) 以及J2EE 平台的Web 层架构的规范领导。
Struts 在Apache 软件许可 [ASF, License]下对公众是免费的。 使用此软件没有任何获得
和再现成本。不象其他一些开源许可协议,Apache 软件许可对商业用途是友好的。你可以
在你的商业项目中使用Struts,并自由分发Struts 库。你也可以将Struts 组件集成到你的
框架中,就像他们是你自己编写的一样。详细情况,参见Apache Software License,
www.apache.org/LICENSE。
1.1.2. 为什么Struts 要开源?
现在有许多非常优秀Java 程序和框架都是开源项目。有许多的开发人员为这些项目工作,
他们同时又在诸如 IBM, Sun Microsystems, 以及 Apple 这样的公司从事其日常工作。
这类软件的开发式协作有利于整个软件市场。今天,许多开源组件都集成到商业产品之中。
公司可以向其客户出售其专业的文档,保证支持服务水平,以及其他有价值的售后服务和增
值服务。
当软件是自由的时候,对市场来说它更容易得到支持。Struts 就是个典型例子。虽然它还
只是个很新的产品,也已经有很多文章和教程涉及到它,但却还没有什么象样的书籍。
许多开发团队不喜欢使用不是自己内部开发的软件。开源组件提供了所有自行开发的软件的
优点,但绝不会将你锁定在一个只有你们团队才懂的专有解决方案上。
开源软件对所有人都是双赢的。
1.1.3. 为什么叫Struts?
这个框架之所以叫“Struts”,是为了提醒我们记住那些支撑我们房屋,建筑,桥梁,甚至我
们踩高跷时候的支撑。 这也是一个对Struts 在开发Web 应用程序中所扮演的角色的精彩
描述。当建立一个物理建筑时,建筑工程师使用支柱为建筑的每一层提供支持。同样,软件
工程师使用Struts 为业务应用的每一层提供支持。
什么是应用框架?
框架(framework)是可重用的,半成品的应用程序,可以用来产生专门的定制程序
[Johnson]。象人一样,软件应用的相似性比不同点要多。它们运行在相似的机器上,期望
从相同的设备输入信息,输出到相同的显示设备,并且将数据存储到相同的硬盘设备。开发
传统桌面应用的开发人员习惯于那些可以覆盖应用开发同一性的工具包和开发环境。构架在
这些公共基础上的应用框架可以为开发人员提供可以为他们的产品提供可重用服务的基础
架构。
框架向开发人员提供一系列具有以下特征的骨架组件:
欢迎你阅读《Struts In Action》。本书的目的是帮助Web 应用开发者能够最好的使用Struts
web 应用框架。
Struts 是一个开源软件,有助于开发者更加快速和容易地建立Web 应用程序。Struts 依靠
绝大多数开发者已熟知的标准技术—比如JavaBeans, Java servlet, 以及 JavaServer Page
(JSP)。通过基于标准的技术,“填空式”的软件开发方法,Struts 可以减轻在创建新项目时
那些令人抱怨的极费时间的工作。
1.1.1. 谁创建了Struts?
Struts 是Apache 软件基金下Jakarta 项目子项目。除Struts 之外, 还有其他成功的开源产
品,包括Tomcat, Ant, 和 Velocity。
开始的代码基础从2000 年5 月开始开发,直到2001 年6 月,1.0 版本发布。有 30 多个开
发者参与进来,并有数千人参与到讨论组中。Struts 代码基础由一个志愿者团队来管理。
到 2002 年,Struts 小组共有9 个志愿者参与。
Struts 框架的主要架构设计和开发者是Craig R. McClanahan。Craig 也是Tomcat 4 的主
要架构师,以及Java Web Services Developer Pack 的主要架构师和实现者。他现在是Sun
的JavaServer Faces (JSR-127) 以及J2EE 平台的Web 层架构的规范领导。
Struts 在Apache 软件许可 [ASF, License]下对公众是免费的。 使用此软件没有任何获得
和再现成本。不象其他一些开源许可协议,Apache 软件许可对商业用途是友好的。你可以
在你的商业项目中使用Struts,并自由分发Struts 库。你也可以将Struts 组件集成到你的
框架中,就像他们是你自己编写的一样。详细情况,参见Apache Software License,
www.apache.org/LICENSE。
1.1.2. 为什么Struts 要开源?
现在有许多非常优秀Java 程序和框架都是开源项目。有许多的开发人员为这些项目工作,
他们同时又在诸如 IBM, Sun Microsystems, 以及 Apple 这样的公司从事其日常工作。
这类软件的开发式协作有利于整个软件市场。今天,许多开源组件都集成到商业产品之中。
公司可以向其客户出售其专业的文档,保证支持服务水平,以及其他有价值的售后服务和增
值服务。
当软件是自由的时候,对市场来说它更容易得到支持。Struts 就是个典型例子。虽然它还
只是个很新的产品,也已经有很多文章和教程涉及到它,但却还没有什么象样的书籍。
许多开发团队不喜欢使用不是自己内部开发的软件。开源组件提供了所有自行开发的软件的
优点,但绝不会将你锁定在一个只有你们团队才懂的专有解决方案上。
开源软件对所有人都是双赢的。
1.1.3. 为什么叫Struts?
这个框架之所以叫“Struts”,是为了提醒我们记住那些支撑我们房屋,建筑,桥梁,甚至我
们踩高跷时候的支撑。 这也是一个对Struts 在开发Web 应用程序中所扮演的角色的精彩
描述。当建立一个物理建筑时,建筑工程师使用支柱为建筑的每一层提供支持。同样,软件
工程师使用Struts 为业务应用的每一层提供支持。
什么是应用框架?
框架(framework)是可重用的,半成品的应用程序,可以用来产生专门的定制程序
[Johnson]。象人一样,软件应用的相似性比不同点要多。它们运行在相似的机器上,期望
从相同的设备输入信息,输出到相同的显示设备,并且将数据存储到相同的硬盘设备。开发
传统桌面应用的开发人员习惯于那些可以覆盖应用开发同一性的工具包和开发环境。构架在
这些公共基础上的应用框架可以为开发人员提供可以为他们的产品提供可重用服务的基础
架构。
框架向开发人员提供一系列具有以下特征的骨架组件:
常见问题与解决方法
2.深入Struts 架构

