Struts是目前非常流行的基于MVC的Java Web框架。本书详细介绍了在最新的Struts1.1以及不久将推出的Struts1.2版本上设计和开发Java Web应用的各种技术。本书第1章到第3章为入门篇,通过两个Struts应用实例,引导读者把握设计、开发和部署Struts应用的整体流程,充分体会Struts框架在开放大型、可扩展的Web应用方面发挥的优势。第4章到第7章深入探讨了Struts框架的核心组件ActionServlet和RequestProcessor的实现原理,详细介绍了开发Struts应用的模型、视图和控制器的各种技术,细致的描述了Struts配置文件的每个元素的使用方法。第8章到第9章介绍了开发Struts应用的一些实用技术,如Struts框架的扩展点、Struts应用的国际化,Validator验证框架和异常处理机制等。第12章到第16章结合具体的Struts应用实例,详细介绍了Struts的标签库以及Tiles框架的使用方法。第17章和第18章介绍如何采用EJB和Web服务来实现Struts框架的模型。第19章到第21章介绍了如何采用第三方软件,如Apache Common Logging API、Log4J、ANT和StrutsTestCase,来控制Struts应用的输出日志、管理以及测试Struts应用项目。
第1章 Struts与Java Web应用简介 \r\n 1.1 Java Web应用概述 \r\n 1.2 Web组件的三种关联关系 \r\n 1.3 MVC概述 \r\n 1.4 Struts概述 \r\n 1.5 小结 \r\n第2章 Struts应用:helloapp应用 \r\n 2.1 分析helloapp应用的需求 \r\n 2.2 运用Struts框架 \r\n 2.3 创建视图组件 \r\n 2.4 创建控制器组件 \r\n 2.5 创建模型组件 \r\n 2.6 创建存放常量的Java文件 \r\n 2.7 创建配置文件 \r\n 2.8 发布和运行helloapp应用\r\n 2.9 小结 \r\n第3章 Struts应用的需求分析与设计 \r\n 3.1 收集和分析应用需求 \r\n 3.2 设计数据库 \r\n 3.3 设计应用的业务逻辑 \r\n 3.4 设计用户界面 \r\n 3.5 设计ActionForm \r\n 3.6 设计Action和Action映射 \r\n 3.7 设计客户化标签 \r\n 3.8 小结 \r\n第4章 配置Struts应用 \r\n 4.1 Web应用的发布描述文件 \r\n 4.2 为Struts应用配置web.xml文件 \r\n 4.3 Struts 配置文件\r\n 4.4 Digester 组件 \r\n 4.5 Struts 控制面板工具 \r\n 4.6 重新载入配置文件 \r\n 4.7 小结 \r\n第5章 Struts控制器组件 95\r\n 5.1 控制器组件的控制机制 95\r\n 5.2 使用内置的Struts Action类\r\n 5.3 利用Token解决重复提交 \r\n 5.4 实用类 \r\n 5.5 小结 \r\n第6章 Struts模型组件 \r\n 6.1 模型在MVC中的地位 \r\n 6.2 模型的概念和类型 \r\n 6.3 业务对象(BO) \r\n 6.4 业务对象的持久化 \r\n 6.5 创建netstore应用的模型 \r\n 6.6 小结 \r\n第7章 Struts视图组件 \r\n第8章 扩展Struts框架 \r\n第9章 Struts应用的国际化 \r\n第10章 Validator验证框架 \r\n第11章 异常处理 \r\n第12章 Struts HTML标签库 \r\n第13章 Struts Bean标签库 \r\n第14章 Struts Logic标签库 \r\n第15章 Struts Nested标签库 \r\n第16章 Tiles框架 \r\n第17章 Struts与EJB组件 \r\n第18章 Struts与SOAP Web服务 \r\n第19章 Struts与Apache通用日志包 \r\n第20章 用ANT工具管理Struts应用\r\n第21章 用StrutsTestCase测试Struts应用 \r\n附录A Struts1.1的UML类框图 \r\n附录B Struts资源 \r\n附录C 发布和运行addresbook应用 \r\n附录D 发布和运行netstore应用 \r\n附录E 编译本书的Java Web样例 \r\n附录F Struts 1.2 API的新特征
孙卫琴,1997年毕业于上海交通大学,随后一直从事基于Java的软件开发工作,还从事过J2EE培训和咨询。目前在美国肯特大学作为访问学者,研究课题包括基于Java和XML的电子商务系统、J2EE软件架构、Web服务和网络安全等。代表著作有:
《精通Struts: 基于MVC的Java Web设计与开发》 2004
《Tomcat与Java Web开发技术详解》 2004
《Java 2认证考试指南与试题解析》 2002
如今,Java 2 Enterprise Edition(J2EE)平台已经日趋成熟,并得到广泛应用。在J2EE技术中发展最迅猛的当属JavaServer Page(JSP)技术。几乎所有的基于Java的Web应用都使用JSP。一些免费、开放源码的JSP/Servlet容器,如Apache软件组织提供的Tomcat,更进一步推动了JSP技术的发展。
随着JSP技术的成熟,越来越多的开发人员开始使用Web应用框架。框架为Web应用提供了预备的软件架构和相关的软件包,它大大提高了开发Web应用的速度和效率。现在,当开发人员开始一个新的项目时,他们首先考虑的问题不是“我们是否需要框架”,而是“我们应该使用什么样的框架”。
Jakarta-Struts是Apache软件组织提供的一项开放源码项目,它为Java Web应用提供了模型-视图-控制器(Model-View-Controller,简称MVC)框架,尤其适用于开发大型可扩展的Web应用。Struts这个名字来源于在建筑和旧式飞机中使用的支持金属架。Struts为Web 应用提供了一个通用的框架,使得开发人员可以把精力集中在如何解决实际业务问题上。此外, Struts 框架提供了许多供扩展和定制的地方,应用程序可以方便的扩展框架,来更好的适应用户的实际需求。
当然,开发人员需要花一定的时间来学习和运用该框架。不过一旦掌握了Struts,就可以大大简化Web应用的开发过程,提高开发效率,缩短开发周期。如果想综合利用Servlet和JSP的优点来建立可扩展的Web应用,Struts是不错的选择。
本书结合大量典型实用的Java Web实例,详细阐明了在最新的Struts1.1以及不久将推出的Struts1.2版本上设计与开发Java Web应用的技术。
本书的组织结构和主要内容
本书按照由浅到深、前后照应的顺序来安排内容。对复杂的Struts框架犹如庖丁解牛,先提供整体概貌,再深入局部细节。在剖析局部时,注重和框架的其他部分相联系。相信读者通过从整体到局部,再从局部到整体的反复学习,最终会对Struts框架了如指掌,游刃有余,并能把Struts框架灵活的运用到实际Java Web开发中。本书主要包含以下内容:
1.Struts框架入门
第1章到第3章为入门篇,第1章简单介绍了开发Java Web涉及的各种技术,第2章和第3章通过两个Struts应用实例:helloapp应用和addressbook应用,引导读者把握设计、开发和部署Struts应用的整体流程,充分体会Struts框架在开放大型、可扩展的Web应用方面发挥的优势。
2.配置Struts应用,开发模型、视图和控制器
第4章到第7章以一个电子商务网站netstore应用为例,深入探讨了Struts框架的核心组件ActionServlet和RequestProcessor的实现原理,详细介绍了开发Struts应用的模型、视图和控制器的各种技术,细致的描述了Struts配置文件的每个元素的使用方法。
3.开发Struts应用的一些实用技术
第8章到第9章介绍了开发Struts应用的一些实用技术,如Struts框架的扩展点、Struts应用的国际化,Validator验证框架和异常处理机制等。
4.Struts标签库的使用方法
第12章到第16章结合具体的Struts应用实例,详细介绍了Struts标签库:HTML、Bean、Logic、Nested和Tiles标签库的使用方法。
5.Struts框架和EJB以及Web服务的集成
第17章和第18章介绍如何采用EJB和Web服务来实现Struts框架的模型,并且介绍了如何运用业务代理模式来提高模型层和控制层之间的相互独立性,当模型的实现发生变化,不会对控制层造成任何影响。
6.Struts应用的日志、项目管理以及测试
第19章到第21章介绍了如何采用第三方软件,如Apache Common Logging API、Log4J、ANT和StrutsTestCase,来控制Struts应用的输出日志、管理以及测试Struts应用项目。
本书的范例程序
Java Web开发是实践性很强的技术,为了使读者不仅掌握Struts框架的理论,并且能迅速获得开发Struts应用的实际经验,彻底掌握并会灵活运用Struts技术,本书提供了大量典型实用的Java Web实例。所有的范例选用最新的Struts1.1版本(2004/5/10发布),在Tomcat5.0.24上运行通过,对于用EJB来实现模型的netstore应用,在Jboss与Tomcat的集成软件(Jboss-3.2.1_tomcat-4.1.24)上运行通过。在本书附赠光盘中包含了所有范例源文件。本书以九个Struts应用的例子贯穿全书:
1.netstore应用
netstore应用是一个充分运用了Struts各种技术的综合例子,它实现了一个购物网站,更加贴近于实际应用。 本书以netstore应用为例,详细介绍了模型的设计与开发策略,涉及的技术包括:业务对象、模型与关系型数据库之间的持久化框架、控制层访问模型的业务代理模式,以及采用EJB和SOAP Web服务来实现模型。
2. helloapp应用
helloapp应用是本书最简单的Struts应用例子,本书一共提供了5个版本,每个版本各有侧重点:
version1: 引导读者入门,把握设计、开发和部署Struts应用的整体流程
version2: 介绍Struts应用的国际化
version3: 介绍如何在Struts应用中使用Apache Common Logging API和Log4J
version4: 介绍如何用ANT工具来管理Struts应用项目
version5: 介绍如何用StrutsTestCase工具来测试Struts应用
3.addressbook应用
addressbook应用实现了一个电子通讯薄,本书提供了3个版本,每个版本各有侧重点:
version1: 引导读者入门,进一步掌握为视图、控制器和模型组件分配功能的技巧,以及如何实现这些组件之间的通信和数据共享。
version2: 介绍Struts插件的用法,以及使用Token机制来避免表单数据的重复提交。
version3: 介绍如何为HTML表单分页。
4.exsample应用
exsample应用用于演示如何在Struts应用中处理异常。
5. htmltaglibs应用
htmltaglibs应用用于演示如何使用Struts HTML标签库。
6. beantaglibs应用
beantaglibs应用用于演示如何使用Struts Bean标签库。
7. logictaglibs应用
logictaglibs应用用于演示如何使用Struts Logic标签库。
8. nestedtaglibs应用
nestedtaglibs应用用于演示如何使用Struts Nested标签库。
9. tilestaglibs应用
tilestaglibs应用用于演示如何使用Struts Tiles框架和Tiles标签库。
这本书是否适合你
本书侧重于介绍基于Struts的Java Web应用的框架结构。本书适用于所有从事开发Java Web应用的读者。阅读本书,要求读者具备Servlet和JSP编程的基础知识。如果你对这些还不了解,可以参考作者的另一书<>,该书也由电子工业出版社出版。
如果你是开发Struts应用的新手,建议按照本书的先后顺序来学习。先从简单的Struts应用实例下手,把握Struts框架的大致流程,然后逐步深入了解各个组件的细节。Struts框架本身是一个环环相扣的有机整体,本书在内容安排上注重前后照应,帮助读者把Stuts框架的各个环节联系起来,最终达到对Struts框架了如指掌的境界。
如果你已经在开发Struts应用方面有丰富经验,则可以把本书作为实用的Struts技术参考资料。本书深入探讨了Struts框架的内置核心组件的实现原理,详细介绍了开发Struts应用的各种实用技术。灵活运用本书介绍的Struts最新技术,将使Struts应用开发更加得心应手。
实践是掌握Java Web开发技术最迅速、有效的办法。以Struts标签库为例,已经在使用Struts的读者一定有这样的体会,即使熟读了Apache网站提供的关于Struts标签库的文档,还是对如何使用Struts标签库无从下手。为了让读者彻底掌握并会灵活运用Struts技术,本书提供了大量典型的例子,在本书配套光盘上提供了完整的源代码,以及软件安装程序。建议读者在学习Struts技术的过程中,善于理论结合实践,达到事半功倍的效果。
光盘使用说明
本书配套光盘包含以下目录。
1.software目录
在该目录下包含了本书涉及的所有软件的最新版本的安装程序,包括:
(1)Tomcat的安装软件(Tomcat5.0.24)
(2)MySQL服务器的安装软件(MySQL4.0.14)
(3)Apache AXIS软件(Apa