本书是为那些厌烦了Web开发或者认为会存在更好的Web开发方式的开发人员准备的。是一本从头至尾都使用现实世界例子讲述有关编写Web应用程序的书籍。在本书中,我们将从简单的表单及表单处理开始,逐一讲述编写Web应用程序的基础知识:action、interceptor和result,以及控制反转(IoC)模式、对象图导航语言(OGNL)和所有来自WebWork的实用JSP标签等。然后我们着眼于高级的特性,例如校验、数据类型转换、资源依赖、本地化(i18n)、Web应用组件的松耦合,以及大量应对Web开发中常见的挑战所需要的解决方案。
本书是一本从头至尾都使用现实世界例子讲述有关编写Web应用程序的书籍。WebWork所强调的内容是:利用框架实现你的项目,而不是被框架所阻碍。在本书中,我们将从简单的表单及表单处理开始,逐一讲述编写Web应用程序的基础知识:action、interceptor和result,以及控制反转(IoC)模式、对象图导航语言(OGNL)和所有来自WebWork的实用JSP标签等。然后我们着眼于高级的特性,例如校验、数据类型转换、资源依赖、本地化(i18n)、Web应用组件的松耦合,以及大量应对Web开发中常见的挑战所需要的解决方案。
本书是为那些厌烦了Web开发或者认为会存在更好的Web开发方式的开发人员准备的。我们希望读者对Java及常用的Java API(如Java Collections API)有基本的认识。由于WebWork的内容几乎都与Web相关,那么读者必须对HTML、JavaScript及CSS具有基本程度的认识。而实际上不管是开发新手还是富有经验的软件开发者,甚至是那些缺少Java基础技术背景的开发者都可以阅读本书,并且能够马上提高自己的开发效率。
本书实例源代码可以从飞思在线和Manning出版社的网站下载。
展开
蒙牛是现在国内耳熟能详的乳业巨头。它成立于被称为“乳都”的呼和浩特,在早期有一次精彩的亮相。“乳都”的居民们在某一天早上忽然发现在全市的大街小巷树立起了很多的广告:创呼和浩特乳业第二品牌。当时所有人都知道,伊利是内蒙乳业的领跑者。这个第二品牌,一下子让很多人记住了蒙牛这个名字。聪明人往往会发现,很多行业第二名往往比第一名的质量更好,因为它有强烈的进取心,而处于行业第一的竞争压力也迫使它必须做得更好。
在2002年之后的JavaWeb框架混战中,Web框架如同雨后春笋一样呼啦啦冒出了一大茬。作为发展最早的MVC框架,Struts毫无疑问拥有第一影响力,而大部分人都认为,WebWork占据了第二的角色。
在技术上,这个第二当之无愧。Struts和WebWork是两种类似的MVC结构,WebWork的开发目标就是在技术上超越Struts,所以WebWork框架比Struts更加灵活实用;WebWork不像Tapestry、JSF走得那样远,它仍然在实践经典的MVC框架;但它在框架的边界上做得更好。Rickard?berg(WebWork的创造者,也是JBoss创始人之一)曾经说过:“框架的强大之处不是源自于它能让你做什么,而是它不能让你做什么。”优雅的WebWork在细节上做得十分出色,其XWork和WebWork的两层实现将前置处理器、interceptor和IoC容器的职责与对Web请求的处理截然分开,从而达到了一种平衡。
在功能上,WebWork框架在提供了具体的特性来限制开发者鲁莽的出格行为的同时,它也细致地提供了尽可能多的选择。例如虽然它自己实现了轻量级容器,但你也仍然可以插入不同的容器。就这样,WebWork提供了强大的兼容性和伸缩性。
2005年末,WebWork宣布并入Struts。Struts2.0就是WebWork。这样,利用Struts第一的超人气和WebWork更加成熟、灵活的先进构架,二者实现了双赢。这也证明这几年来的跟跑,WebWork终于完成了向行业第一的进化。
《WebWorkinAction》中文版是在中国引进的第一本WebWork著作。这是声名卓著的Manning出版社的大作之一,本书的英文版在国外也具有很高的评价。这本书全面而细致地对WebWork的设计哲学和具体实现进行了讨论,不管你是否使用WebWork进行开发,甚至就算你不开发Web,你都能从本书中汲取到所需的知识。
《WebWorkinAction》中文版翻译质量很高,这并不是因为三位译者的文学水平有多高,而是因为他们都有7年以上的Java开发经验和两年以上的WebWork应用经验,对WebWork架构及其应用都有深入研究和理解,所以才能深刻领会和原汁原味地转述《WebWorkinAction》原作。
本书是一本典型的开发类书籍,其由浅入深,从第一个HelloWorld慢慢地引导读者深入了解WebWork框架的各个方面。
对于一个软件框架来说,它由两部分组成,一部分是它的核心功能,另一部分是对整个业界上下游其他工具的整合。WebWork的思想是实用而精致的,因此WebWork版本虽然从2.1.x更迭到2.2.x,其内核却保持了一致性。书籍的优势是它的容量比较大,它让你有完整的观念,有清晰的认识,但缺点就是时效性比较差,这也就决定了本书更多地从内核而非与其他工具的整合上下功夫,后者更多是在线文档和ReleaseNotes的职责。所以,请站在更高的层次来学习本书,不仅仅是为了学会WebWork标签库的语法,或者是配置文件的写法。
如果你是初学者,建议你至少读完“第1部分WebWork简介”(第1章至第3章),了解什么是MVC,完成WebWork的第一个HelloWorld程序并了解action、result和interceptor的概念和用途。后面的章节,你可以在应用的时候,有针对性地阅读。
如果你有了一点WebWork的开发经验,希望能够更深入地了解WebWork的应用,建议你首先阅读“附录AWebWork架构”,然后阅读“第4部分高级话题”,这样可以帮你深入地理解WebWork的开发思想和思路。
WebWork作为一个设计灵活的MVC架构,其几乎兼容J2EE平台的所有流行技术和框架,比如:IoC技术,Hibernate框架,Velocity模板语言,Spring框架,等等。这些本书没有一一涉猎,有兴趣的读者可以查阅WebWork的帮助文件。
曹晓钢
满江红开放技术研究组织创始人
《深入Java虚拟机》主译、《深入浅出Hibernate》编著者