Java Web 2.0项目开发实战

分類: 图书,计算机/网络,程序设计,Java Java Script J2EE,
作者: (美)扎梅蒂(zammetti,F.W)著;许劲松,章曦,周斌译
出 版 社: 人民邮电出版社
出版时间: 2008-12-1字数: 656000版次: 1页数: 432印刷时间: 2008/12/01开本: 32开印次: 1纸张: 胶版纸I S B N : 9787115188656包装: 平装编辑推荐
跟世界级专家现场学习Web2.0/Ajax开发,自己开发Gmail、Flickr、网摘和纯Ajax游戏,综合运用Struts、Prototype、DWR/Dojo等众多最炫的技术。
“如果你想结合Ajax前端技术和Java服务器端技术来构建Web 2.0应用,我强烈推荐你学习这本实战佳作……Frank W.Zamrrletti总是在轻松诙谐的气氛中让你领悟一流的技术。”
——slashdot.org
“本书能为你的开发节省大量时间,并且大大深化你对Ajax技术的理解。”
——javapassion.com
“如果你想使用最新最热门的Ajax技术进行Web开发,本书将是最佳选择。”
——ajaxiall.Com
对于大多数Web开发人员来说,Ajax已经不再是一个陌生的技术名词,但是要真正熟练地运用Aja)(开发Web 2.0项目。仍然是一个很大的挑战。
本书中,世界级专家通过7个极具实战价值的Web 2.0项目(包括对Gnmail、Flickr的模仿实现,以及网摘、聊天程序和纯Ajax游戏等),直观而生动地展示了。Java平台上Ajax相关的各种技术的综合运用,涉及Apact"le、Ant、AjaxTags、Struts、Prototype、DWR、Dojo等。每个项目都完整地讲解了从规划、设计到实现的全过程。并提供全部代码。这些项目不仅是很好的实战学习资料。其中很多内容还可以直接应用到自己的项目中,为你节省大量开发时间。
内容简介
本书通过对一些有趣实用的Java Web 开发项目进行由浅入深的分析,引导开发人员了解基于Java 的Ajax 在实际应用中的各种方法和技术,并帮助开发人员从传统的开发方式逐步平稳地转换到Web 2.0 开发方式中。
本书不仅可作为Java Web 开发新手的实验教程,对于中级Java Web 开发人员来说,也是一本实用的参考手册和进阶指导材料。
作者简介
Frank W.Zammetti世界知名的Web开发专家,Omrlytex公司的创始人和首席软件架构师,曾经扩展Struts的AjaxTags,使Struts具备Ajax功能。除本书外,他还撰写了《Ajax DWR开发实战》(人民邮电出版社即将出版)以及Dojo和、JavaScrrpt等方面的多部畅销书。
目录
第一部分使用Ajax和Java编程
第1章Ajax:勇闯新世界
1.1Web开发简史:“经典”模型
1.2经典Web的问题
1.3走进Ajax
1.4为什么说Ajax是一场革命?通向RIA之路
1.5第一个Ajax示例
1.6Ajax工具包的选择
1.7Ajax的替代方法
1.8小结
第2章Ajax的支柱
2.1JavaScript基础
2.1.1变量、作用域和函数
2.1.2关键字
2.1.3空白
2.1.4分号
2.1.5注释
2.1.6字面量、数组和对象初始化程序
2.1.7数据类型
2.1.8匿名函数
2.1.9内存管理
2.2面向对象的JavaScript
2.3DOM和脚本编程:在运行中操纵内容
2.4XML:描述语言的语言
2.5在JavaScript中解析XML
2.6CSS
2.7小结
第3章服务器端
3.1项目开发环境
3.2Ant:以开源的方式构建Java应用程序
3.3Apache Tomcat
3.4Web应用、servlet、JSP和在服务器上解析XML
3.4.1Web应用
3.4.2servlet
3.4.3JSP
3.4.4在服务器上解析XML
3.5安装和使用应用程序
3.6小结
第二部分开发项目
第4章Karnak:输入前提示
4.1需求和目标
4.2如何实现
4.3最终呈现
4.4研究解决方案
4.4.1客户端代码
4.4.2服务器端代码
4.5推荐练习
4.6小结
第5章InstaMail:基于Ajax的webmail客户端
5.1需求和目标
5.2如何实现
5.3最终呈现
5.4研究解决方案
5.4.1客户端代码
5.4.2服务器端代码
5.5推荐练习
5.6小结
第6章AjaxReader:Ajax图书必备内容
6.1需求和目标
6.2如何实现
6.3最终呈现
6.4研究解决方案
6.4.1客户端代码
6.4.2服务器端代码
6.5推荐练习
6.6小结
第7章PhotoShare:分享图片
7.1需求和目标
7.2如何实现
7.3最终呈现
7.4研究解决方案
7.4.1客户端代码
7.4.2服务器端代码
7.5推荐练习
7.6小结
第8章Organizer:管理个人信息
8.1需求与目标
8.2如何实现
8.2.1Prototype
8.2.2WebWork
8.2.3HSQLDB
8.2.4Spring JDBC
8.3最终呈现
8.4研究解决方案
8.4.1客户端代码
8.4.2服务器端代码
8.5推荐练习
8.6小结
第9章AjaxChat:以Ajax方式聊天
9.1需求和目标
9.2如何实现
9.3最终呈现
9.4研究解决方案
9.4.1客户端代码
9.4.2服务器端代码
9.5推荐练习
9.6小结
第10章AJAX勇士游戏:回到未来
10.1需求和目标
10.2如何实现
10.2.1多用途的函数和集中式Ajax
10.2.2JSON
10.3最终呈现
10.4研究解决方案
10.4.1客户端代码
10.4.2服务器端代码
10.5推荐练习
10.6小结
附录AXMLHttpRequest对象
附录B库、网站和图书
书摘插图
第一部分使用Ajax和Java编程
第1章Ajax:勇闯新世界
对于第一次接触Ajax,尤其是刚刚接触web开发的人来说,本章可以作为了解后面内容的一个不错的热身。然而,已经具有一些经验,尤其是对AjaX并不陌生的开发人员,可以跳过本章,因为对他们来说本章很可能只是一次复习。我们首先介绍过去大约15年以来应用(尤其是web应用)的发展过程。你会发现,应用程序的基本结构经历了一个有趣的循环。接下来将介绍一些非常不错的AjaX实战示例,并讨论AjaX为什么如此重要,以及它是怎样从根本上改变应用程序开发的。第一个代码示例会以非常简单而基础的方式J~Ajax。我们还会简单地谈及Ajax竞争技术,以及一些已有的使AjaX更加易用的库和工具包。
1.1 Web开发简史:“经典”模型
web刚出现时的确不错。各种各样易记的新单词、词组和术语进入了词典,而且在我们说起这些新词时,感觉它愈发地酷了。随着我们的工作渐渐为人所知,web应用(Webapp)这个词出现了。这些应用程序有点像回到了分时访问方式的大型机时代。它们无论从使用方式还是外观上都不如随后出现的Visual Basic、PowerBuilder和C++“胖客户端”(虽然它们Web应用出现后少了,但仍在使用)那样光彩夺目,而且那些胖客户端完成了并仍然在做很多工作,就像那些旧的分时系统一样。
如果认真考虑一下,就会发现应用程序开发其实走了一个循环。如果按时间从前向后梳理一遍,就会发现这一点。
我们就从稍早的时代开始。在这个时代,应用程序采用了大家基本能够理解的形式。首先用简单的终端仿真设备(我们就不讲实际终端啦)来访问远程运行进程。图1-1所示的屏幕就是这类应用程序的典型例子。
TN3270屏幕还是有些意义,因为它们仍然大量被使用,尤其在商业领域中,任何做过一些大型机工作的人都可以作证。有两件有趣的事情需要注意。第一,注意NINUI(用户界面)的简单特性——它们只是文本,通常限制在80列25行,只有极其有限的数据输入能力——基本上只是可编辑的映射区域。下拉列表、复选框和网格等在这个领域中是完全未知的。如果碰到一个写得很好的应用程序,那么可能幸运地看到如下的实际菜单:
C.创建记录
D.删除记录
E. 编辑记录
如果不走运,有可能会是如下的信息:
……01A7COD9ABABACOO
……89A683E34D79E998
如果你从来没有用过大型机,那么下面简单地介绍一下。在大型机中编辑文件(文件又叫数据集)通常使用叫做Ts0/IsPF的工具。这只是一种文本编辑器,能够在文本显示和十六进制显示间进行转换。上文是内容的十六进制显示,每一行前面的点组成命令区。例如,在以89开头的行上面加入一行,就需要把该行的第一个点替换为i,然后按回车键;如果想删除以01开头的行和刚插入的那一行,就需要把以01开头的行的前两个点换成dd,然后在刚刚插入的行的同样位置也键入dd,再按回车键。(dd用来删除行块,可以使用单个d来删除单行。)
第二点更重要,就是当用户执行了一些需要应用程序响应的动作时会发生什么。很多时候,主机会重绘整个屏幕,包括那些不会因为该操作而改变的部分。每个操作都在主机上执行,基本没有本地处理。甚至对于简单的客户端输入验证也没有本地处理,它仅仅是远程应用程序状态的一个展示。
随着PC的出现,本地处理能力提高了很多,出现了新的趋势。这个时候我们看到,应用程序开始存放在本地而不是中央主机上,至少部分应用程序是在本地执行的。很多时候,整个应用程序本身是在用户使用的机器上运行的。随着微软公司的windows的流行,“胖客户端”开始被人们所熟知,而它实际上很快成了应用程序开发的事实标准。在这种方式中,uI的功能和用户友好性极大地提高了,而集中的中央硬件在很多地方不再那么重要了(数据库服务器之类的不在此碉1)。图1-2中所示的屏幕开始成为规范。
注意,图1-2里的UI元素是多么的丰富。显然,这里的UI已有所改进。“改进”当然是相对的,换个环境它就不是更好。可以想象,那些整天低头输入数据的人可能倾向于使用旧的绿屏幕,因为它们对于键盘输入更加高效。……
