前言

《Struts Web设计与开发大全》    作者邱哲、王俊标、马斗
清华大学出版社
前言
本书的形成
Struts这个名词最初进入我们的视线还是在我们即将毕业的时候。导师布置给我们的课题分别是基于J2EE实现的人事管理系统和基于J2EE实现的B2C电子商务系统,要求的技术便是Struts。对于Struts还一无所知的我们感到相当困惑,因为按照以前的经验,这样一个系统使用JSP和Servlet就能轻松搞定,为什么还要用这个Struts呢?在两个月的“搏斗”后,系统终于完成了。现在回想那段真的是激情燃烧的岁月。也就是从那时候起,我们意识到了Struts为Web编程带来的便捷,以至于在后来只要遇到Java Web项目,我们都使用Struts来做。
如今,对于Java程序员来说,Struts这个名词早就耳熟能详,网上的招聘几乎清一色要求熟悉Struts,市面上也出现了不少有关Struts的书籍。在行业内,所有使用Java Web技术进行开发的公司或多或少的都用到了Struts相关的技术。
我们长期从事Struts方面的开发工作,积累了一些经验。希望通过这本书,将自己对Struts的理解以及一些Java社区的优秀开源软件介绍给大家,分享我们的经验和知识。
本书面向的读者
我们在本书中实现了大量的入门级实例,因此原则上说不要求读者有任何编程基础。但是,本书的理想读者应是对Java Web技术有一定了解的人。因为Struts技术本身是建立在如JSP、Servlet技术的基础上的。倘若读者对Java Web方面的技术不甚了解,建议可以先找一些讲解基础知识的书阅读,然后再来阅读本书。Java Web技术是建立在Java面向对象编程基础上的,因此,最好读者对面向对象编程技术也能够有一定的了解。
本书的组织结构
本书共分为四个部分:
第一部分为入门篇,共包括两章。其中第一章首先简单介绍了一下相关知识,帮助读者将一些在Java Web开发中经常用到的技术浏览一遍,随后介绍了Struts的基本概念,为全面讲解Struts技术做一些铺垫;第二章使用JBuilder为开发环境,一步步构建了一个简单的Struts Web应用程序,使读者在阅读完本章后能马上动手开发一个Struts Web应用程序。
第二部分为Struts框架详解,共包括九章。其中第三章通过一个应用实例详细介绍了Struts配置文件的常用内容;第四章深入浅出的剖析了Struts的控制器,从源代码级别分析了Struts的控制转发机制;第五章介绍了与模型相关的概念和技术;第六章讲解了Struts的视图组件;第七章针对Struts应用的国际化问题展开讨论,其中还对Web开发中常遇到的一些中文问题进行了分析;第八章至第十一章通过详实的例子介绍了Struts的标记库,对HTML、Bean、Logic、Template和Nested标记库中的常用标记进行了分析和比较。读者在阅读完该部分内容后,会对Struts的整体结构和各部分功能有深刻的了解,能较熟练地使用Struts开发Web应用程序了。
第三部分是Struts进阶,在前两部分的基础上,介绍了Struts开发中的一些高级技术,包括四章内容。第十二章讲解了如何扩展Struts框架以实现更强大的功能;第十三章讲述了Tiles相关的内容,指导读者使用Tiles组织页面;第十四章介绍了Validator包的相关知识,指导读者在Struts应用中使用Validator实现验证功能;第十五章分析了Struts的异常处理机制,使读者能深入了解Struts框架对于异常的捕获、传递等深层原理,更透彻的掌握Struts框架。通过这一部分内容的学习,读者应能更加熟练的应用Struts的一些高级技巧来编写Web应用程序。
第四部分主要介绍一些常用的开源软件,这些开源软件经常使用在Java Web应用程序的开发中,共包括五章内容。第十六章介绍了Log4j相关知识,指导读者使用Log4j在应用程序中记录日志;第十七章为读者讲解了ant的使用方法,并通过实例来演示ant操作方式;第十八章介绍了当前最为流行的Java测试工具JUnit和针对Struts的扩展测试工具StrutsTestCase的基本用法;第十九章结合当前最为流行的OR映射工具Hibernate来说明如何在Web应用中持久化保存对象;第二十章为读者介绍了功能强大的全文检索工具Lucene的用法,并配有完整例子,使读者能迅速上手为自己的Web应用添加站内检索功能。相信在学习完这一部分的内容后,读者会对这些著名的开源软件有更深刻的掌握,这对增加读者的知识面和编程能力都有巨大的帮助。
第五部分是一个完整的电子商务应用:“数码商店”。这一部分详细分析了整个数码商店网站的业务需求、设计方案和主要功能。结合实际的业务功能,对源代码的设计和实现进行了详细分析注解,展现给读者一个应用的全貌。
读者选购本书的理由
现在国内市场上已经有若干本Struts相关的书籍,包括翻译英文著作和国内原创,对Struts框架在国内的普及和迅速流行起到重要的推动作用。但是翻译的书籍往往不能契合国人的思维方式和实际需要,而其它一些书籍也往往不能贴切实际开发人员的需求,仅仅从单纯的技术和概念角度阐述Struts相关内容,特别是对初学者的考虑不够周到,着眼点过高,造成初学者难以理解Struts框架的精髓。
本书从实际软件开发者的角度出发来介绍Struts,同时充分照顾各种知识水平的读者的需要,由浅入深地阐述Struts框架的全貌,在实例中学习和进步。本书大部分的内容来源于作者的实际项目经验,实例也大多脱胎自实际项目,再针对本书的枢要做出响应的调整,所以本书应该更加贴近中国读者的需要。
本书的特点和优势
(1)丰富的实例:实例丰富是本书最为突出的特点,本书的实例设置充分考虑读者学习的需求,我们的写作理念只有一个,就是如何让读者尽可能地少走弯路。在本书二十二章内容中,我们为读者准备了大量的应用实例。在设计本书内容的时候我们不断地回顾和品味自己学习Struts和其它编程技术的艰难过程,设身处地地考虑各种水平的读者的实际需要,在各个部分设置了从简单入门到复杂应用的各种实例,小至简单的表单登录验证程序,大至完整的电子商务应用。
本书共为读者准备了多个完整的应用示例,如猜数字、标记库范例、Lucene Web应用范例、Ant应用范例以及最后的数码商店等等。除了这些完整的示例外,本书在叙述的过程中还不时的给出适当代码示例以求让读者能尽快领悟书中的理论。相信读者在这种方式下一定能体验最好的学习感觉。
(2)一线作者,注重实践:我们三位作者都是一线的Struts开发人员,对Java Web应用的各种技术有深刻的理解。理论研究和实际开发的着眼点完全不同,前者注重理论和技术的深度,后者注重符合实际的需求。在本书中,我们的一切内容的设计、整理和编写都完全针对实际开发人员实现应用需求。简单的说,我们不是在为了写书而写书,这本书的唯一目的是为了在Struts领域中造就一本来自实践、指导实践的Struts作品,为中国的软件产业贡献一分心力,让千千万万同我们一样奋斗在Java领域的开发人员和那些热切期望加入这个领域的读者能够分享我们的经验和教训,让我们过去那些坎坷的经历,那些激情燃烧的岁月能有更大的意义和价值。
(3)行文流畅:我们在本书中为读者提供了大量的副图和代码注释,并且尽量做到通俗易懂,循序渐进,尽量从开发者的角度去理解和把握各种概念与技术。特别地提一下,本书的作者之一邱哲不仅Java基础扎实,而且英语水平极其强悍,为我们提供和翻译了大量的英文资料。另一位作者王俊标,中文水平很好,同时是具有相当水平的历史研究爱好者,对本书的行文用语做了大量修饰。马斗则是经验丰富的开发者,对代码示例的讲解入木三分。
(4)完善的视频演示,易学易懂:为了方便读者完成各种软件和环境的配置,理解我们实例的操作步骤和意图,本书特意制作了大量的操作视频,既节约了篇幅,又方便了读者的学习和理解,可以说是两全其美,物超所值。
(5)及时跟进最新动态:Java技术发展迅猛,各种软件版本随时更新。我们将及时跟踪Java技术的最新动态,特别是对于本书中涉及的内容,及时发布最新的软件版本,请读者即使关注我们的专用blog。
(6)内容新颖,前卫实用:Hibernate、Lucene、详实的配置文件操作都是同类书籍不曾关注的内容,同时我们也适当地调整和删除了一些不必要的内容。
(7)网上答疑,与读者充分交互。为本书开通了专用blog,网址是http://blog.csdn.net/strutsweb/,读者可以直接同我们交流,共同学习和提高。另外我们为本书提供了专门的联系邮箱http://blog.csdn.net/strutsweb/。读者可以随时同我们联系。
实例简介
(1)猜数字:猜数字是一个指导Struts入门的小游戏,生动地演示了Struts开发的基本流程。
(2)登录用例:再现了Struts开发的基本流程,演示了登录用例的基本实现。然后以该应用为基础,演示了Struts应用的两个配置文件:web.xml和struts-config文件的基本内容,和Struts应用各种基本组件,如filter、listener的简单实现。
(3)标记库实例:通过详实的讲解和实际运行的全中文范例帮助读者对Struts标记库中常用标记达到最深刻的理解。
(4)Tiles应用实例:是一个简化DigitStore应用界面的简单应用,详细演示了实现复合视图的各种解决方案。
(5)HelloWorld实例:通过最简单的方式带领读者掌握JUnit和ant的基本应用和在主流IDE下的基本操作。
(6)拍卖竞价系统:通过该例子介绍了Struts+Hibernate结合开发的基本思想,为DigitStore应用的开发做了铺垫。
(7)Lucene全文检索:通过一个完整的Lucene Web实例,构建了一个简单的桌面搜索系统。
(8)DigitStore应用:一个完整详实的电子商务应用。脱胎于Sun的petstore实例,运用Struts+Hibernate实现,是读者领略Struts电子商务全貌的理想范例。
作者的话
学习是一件很痛苦的事,特别是当面对书中一大堆术语无从下手时。我们的学生时代就是这样度过的,缺少资料,身边也没有什么人教。依稀还记得那时因为调通一段小程序的喜悦,几个人在宿舍里穿着小短裤从这个房间冲到那个房间高喊“俺跑通了!”。当时的机器也很烂,一台奔三的小本本加上了256 SDR内存,就敢跑JBuilder和Weblogic。市面上仅有的几本资料全在床头堆着,翻来翻去却怎么也调不通书上的程序。郁闷和编程永远是最流行的组合,在这个IT行业里,谁不曾经历。
时过境迁,如今用着一台两个G的奔四写着书稿,桌上是最流行的编程书籍,硬盘上存储着大量写过的代码,我们却依然怀念最初时的那种感觉。在键盘上敲下一个个字符、一段段程序,一次次的调试、修改,再调试,再修改。我们只希望所有曾经或正在或将要学习Struts的人在看完这本书后能有所收获,哪怕是对其中的某一小段程序有所赞扬,这也将是对我们最大的鼓励。
注意
(1)本书中所有的代码标号与光盘中的内容没有直接的联系,仅是为了正文中引用方便,所有代码均按工程结构存储于相应目录下。
(2)为了符合开发人员的习惯,本书中提到了很多“提交”按钮,并不是指某一个具体的按钮,而是针对一类按钮,比如4-3中“移除”、“更新购物车”、“结帐”等按钮都通称为提交按钮。
邱哲   王俊标   马斗
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值