Java Web 2.0项目开发实战(世界级专家力作)
基本信息
- 作者: (美)Frank W.Zammetti [作译者介绍]
- 译者: 许劲松 章曦 周斌
- 丛书名: 图灵程序设计丛书.Web开发系列
- 出版社:人民邮电出版社
- ISBN:9787115188656
- 上架时间:2008-11-6
- 出版日期:2008 年12月
- 开本:16开
- 页码:432
- 版次:1-1
- 所属分类:
计算机 > 软件与程序设计 > JAVA(J#) > 综合
编辑推荐
跟世界级专家现场学习Web 2.0/Ajax开发.
自己开发Gmail、Flickr、网摘和纯Ajax游戏..
综合运用Struts、Prototype、DWR、Dojo等众多最炫的技术...
推荐阅读
内容简介回到顶部↑
本书通过对一些有趣实用的java web 开发项目进行由浅入深的分析,引导开发人员了解基于java 的ajax 在实际应用中的各种方法和技术,并帮助开发人员从传统的开发方式逐步平稳地转换到web 2.0 开发方式中。
本书不仅可作为java web 开发新手的实验教程,对于中级java web 开发人员来说,也是一本实用的参考手册和进阶指导材料。
本书不仅可作为java web 开发新手的实验教程,对于中级java web 开发人员来说,也是一本实用的参考手册和进阶指导材料。
作译者回到顶部↑
本书提供作译者介绍
Frank W.Zammetti世界知名的Web开发专家,Omrlytex公司的创始人和首席软件架构师,曾经扩展Struts的AjaxTags,使Struts具备Ajax功能。除本书外,他还撰写了《Ajax DWR开发实战》(人民邮电出版社即将出版)以及Dojo和、JavaScrrpt等方面的多部畅销书。
.. << 查看详细
.. << 查看详细
目录回到顶部↑
第一部分 使用ajax和java编程
第1章 ajax:勇闯新世界
1.1 web开发简史:“经典”模型
1.2 经典web的问题
1.3 走进ajax
1.4 为什么说ajax是一场革命?通向ria之路
1.5 第一个ajax示例
1.6 ajax工具包的选择
1.7 ajax的替代方法
1.8 小结
第2章 ajax的支柱
2.1 javascript基础
2.1.1 变量、作用域和函数
2.1.2 关键字
2.1.3 空白
2.1.4 分号
2.1.5 注释
2.1.6 字面量、数组和对象初始化程序
2.1.7 数据类型
2.1.8 匿名函数
第1章 ajax:勇闯新世界
1.1 web开发简史:“经典”模型
1.2 经典web的问题
1.3 走进ajax
1.4 为什么说ajax是一场革命?通向ria之路
1.5 第一个ajax示例
1.6 ajax工具包的选择
1.7 ajax的替代方法
1.8 小结
第2章 ajax的支柱
2.1 javascript基础
2.1.1 变量、作用域和函数
2.1.2 关键字
2.1.3 空白
2.1.4 分号
2.1.5 注释
2.1.6 字面量、数组和对象初始化程序
2.1.7 数据类型
2.1.8 匿名函数
前言回到顶部↑
谁能够想象到某些人把一个著名足球俱乐部的名字运用到了一项即将改变世界的编程技术之上?然而这的确发生了!.
Ajax(异步JavaScript和XML)声势浩大地席卷了Web开发领域,成为Web 2.0大潮的催化剂。它不仅仅开启了Web应用的一个崭新时代(因为它提供了前所未有的人性化的用户界面),而且彻底改变了Web开发的方式。我们不再局限于文档/页面模型,用户驱动模型现在终于成了现实。也许是第一次,我们终于可以利用自己的既有优势(因为,正如你将要了解到的,Ajax实际上并不是什么新东西),开发出真正的Web应用了。这真是太酷了!
是的,对Ajax的宣传一度充满了泡沫。在网络时代,许多类似的东西都如昙花一现,来得快,去得也快。但是,从载入史册的那一天,一个聪明人为大家长期以来一直使用的技术想出一个别致的名字到现在,已经几年过去,我们依然前行。有人会说,Ajax没有什么真正的思想,只不过是有了个好名字而已。真是那样吗?
直至今日,Ajax的宣传声势仍然不减,这一事实说明,Ajax可能的确有过人之处。实际上,当人们从最初的惊喜和营销的迷雾中走出来,真正开始理解并应用一种技术,认识到其中实实在在的好处时,炒作的成分也就所剩无几了。Ajax不仅仅只有一个好名字,它是有实货的技术。这一点是毋庸置疑的!
我编写本书的一个重要原因,就是让编程人员了解,为什么Ajax不只是一时的流行货,而是一种大变革,我们必须在实战中去了解它。我们阅读了所有想要的白皮书,琢磨了所有能找到的介绍性文章,然而我们仍然感到困惑:“OK,我理解了它的原理,但如何实际运用它呢?”我写这本书的目的就是向编程人员展示如何将Ajax巧妙地运用到真实的应用程序中。
本书针对的是编程人员,他们更喜欢通过真实代码进行学习,更喜欢对代码进行分析和运用。本书并不是为理论家或是那些不再经常编程的家伙们写的。这并不是说架构师(我本身就是一个架构师,比较幸运的是我还能编写代码!)不能从这本书中学到任何东西。他们当然同样能学到东西!但是,我相信那些身处编程第一线的开发人员才是本书最大的受益者!
那么,你为什么阅读这本书呢?首先,本书中有一款很不错的游戏!我并不是在谈论一个隐藏的复活节彩蛋游戏……马上跳到第10章吧,我会等着你。
看到了吗?我并没有开玩笑!
此外,书中还有6个各不相同的项目,每一个项目都展示出Ajax是如何让Web开发更完善、更丰富、最终更动态的。书中将介绍许多方法和大量不同的库,这样当你开发自己的Ajax作品时,就能够判断哪一种方式适合你以及哪种情况对你最有利,此外,书中有现成的示例帮助你起步。
从个人角度出发,我不得不说,编写本书让我体会到了极大的乐趣。因为这是我的第一本书,所以写作中确实有痛苦的经历,但这是相对的。的确,我倾注了大量心血,在编写本书的过程中,我的睡眠习惯被彻底打乱了!但这是非常值得的。我坚信任何阅读本书并对书中描述的应用进行研究的开发人员都会收获丰富的知识和经验,而且我认为这样做也是非常愉快的。如果你阅读本书非常愉快并且从中学到了一些东西,那么我的使命就完成了。
本书概览
第1章对Web开发的发展历程进行总体介绍,并会特别介绍Ajax。
第2章介绍了掌握Ajax必须了解的要素:JavaScript、CSS、DOM脚本及XML。
第3章讨论服务器端的一些东西,简要介绍Ant、Apache Tomcat、Web应用(Webapp)、servlet和JSP,以及关于XML的一些知识。
第4章从Karnak开始介绍实际项目,这个项目和Google Suggest有些类似。这一章会介绍JWP(Java Web Parts)中的AjaxTags。(如果对它或是这里提到的其他概念不甚了解,请不用担心,我们会讲的!)
第5章介绍的是一个webmail客户端,与Google的Gmail类似。在这个项目中,会介绍一个叫DWR的出色的Ajax库。
第6章介绍一个相当典型的Ajax应用程序:RSS提要阅读器。这个项目又一次示范了JWP中AjaxTags的使用方法。
第7章介绍的是一个名为PhotoShare的应用程序,利用它可以创建相册并且与亲朋好友分享。这个应用程序演示了一些非常好的动画技术,并且介绍了另一个库:Dojo。..
第8章介绍的是一个名为Organizer的项目,它是一个基本的PIM应用程序(即备忘录、任务、约会和联系人)。这个项目中,你会了解到一个叫WebWork的流行应用程序框架以及Spring框架的一些知识,还有最流行的Ajax库之一Prototype。
第9章是一个基于Ajax的聊天应用程序,直接命名为AjaxChat。它是建立在最著名的Struts框架之上的,采用“纯粹的”Ajax技术,不需要使用任何库。
Ajax(异步JavaScript和XML)声势浩大地席卷了Web开发领域,成为Web 2.0大潮的催化剂。它不仅仅开启了Web应用的一个崭新时代(因为它提供了前所未有的人性化的用户界面),而且彻底改变了Web开发的方式。我们不再局限于文档/页面模型,用户驱动模型现在终于成了现实。也许是第一次,我们终于可以利用自己的既有优势(因为,正如你将要了解到的,Ajax实际上并不是什么新东西),开发出真正的Web应用了。这真是太酷了!
是的,对Ajax的宣传一度充满了泡沫。在网络时代,许多类似的东西都如昙花一现,来得快,去得也快。但是,从载入史册的那一天,一个聪明人为大家长期以来一直使用的技术想出一个别致的名字到现在,已经几年过去,我们依然前行。有人会说,Ajax没有什么真正的思想,只不过是有了个好名字而已。真是那样吗?
直至今日,Ajax的宣传声势仍然不减,这一事实说明,Ajax可能的确有过人之处。实际上,当人们从最初的惊喜和营销的迷雾中走出来,真正开始理解并应用一种技术,认识到其中实实在在的好处时,炒作的成分也就所剩无几了。Ajax不仅仅只有一个好名字,它是有实货的技术。这一点是毋庸置疑的!
我编写本书的一个重要原因,就是让编程人员了解,为什么Ajax不只是一时的流行货,而是一种大变革,我们必须在实战中去了解它。我们阅读了所有想要的白皮书,琢磨了所有能找到的介绍性文章,然而我们仍然感到困惑:“OK,我理解了它的原理,但如何实际运用它呢?”我写这本书的目的就是向编程人员展示如何将Ajax巧妙地运用到真实的应用程序中。
本书针对的是编程人员,他们更喜欢通过真实代码进行学习,更喜欢对代码进行分析和运用。本书并不是为理论家或是那些不再经常编程的家伙们写的。这并不是说架构师(我本身就是一个架构师,比较幸运的是我还能编写代码!)不能从这本书中学到任何东西。他们当然同样能学到东西!但是,我相信那些身处编程第一线的开发人员才是本书最大的受益者!
那么,你为什么阅读这本书呢?首先,本书中有一款很不错的游戏!我并不是在谈论一个隐藏的复活节彩蛋游戏……马上跳到第10章吧,我会等着你。
看到了吗?我并没有开玩笑!
此外,书中还有6个各不相同的项目,每一个项目都展示出Ajax是如何让Web开发更完善、更丰富、最终更动态的。书中将介绍许多方法和大量不同的库,这样当你开发自己的Ajax作品时,就能够判断哪一种方式适合你以及哪种情况对你最有利,此外,书中有现成的示例帮助你起步。
从个人角度出发,我不得不说,编写本书让我体会到了极大的乐趣。因为这是我的第一本书,所以写作中确实有痛苦的经历,但这是相对的。的确,我倾注了大量心血,在编写本书的过程中,我的睡眠习惯被彻底打乱了!但这是非常值得的。我坚信任何阅读本书并对书中描述的应用进行研究的开发人员都会收获丰富的知识和经验,而且我认为这样做也是非常愉快的。如果你阅读本书非常愉快并且从中学到了一些东西,那么我的使命就完成了。
本书概览
第1章对Web开发的发展历程进行总体介绍,并会特别介绍Ajax。
第2章介绍了掌握Ajax必须了解的要素:JavaScript、CSS、DOM脚本及XML。
第3章讨论服务器端的一些东西,简要介绍Ant、Apache Tomcat、Web应用(Webapp)、servlet和JSP,以及关于XML的一些知识。
第4章从Karnak开始介绍实际项目,这个项目和Google Suggest有些类似。这一章会介绍JWP(Java Web Parts)中的AjaxTags。(如果对它或是这里提到的其他概念不甚了解,请不用担心,我们会讲的!)
第5章介绍的是一个webmail客户端,与Google的Gmail类似。在这个项目中,会介绍一个叫DWR的出色的Ajax库。
第6章介绍一个相当典型的Ajax应用程序:RSS提要阅读器。这个项目又一次示范了JWP中AjaxTags的使用方法。
第7章介绍的是一个名为PhotoShare的应用程序,利用它可以创建相册并且与亲朋好友分享。这个应用程序演示了一些非常好的动画技术,并且介绍了另一个库:Dojo。..
第8章介绍的是一个名为Organizer的项目,它是一个基本的PIM应用程序(即备忘录、任务、约会和联系人)。这个项目中,你会了解到一个叫WebWork的流行应用程序框架以及Spring框架的一些知识,还有最流行的Ajax库之一Prototype。
第9章是一个基于Ajax的聊天应用程序,直接命名为AjaxChat。它是建立在最著名的Struts框架之上的,采用“纯粹的”Ajax技术,不需要使用任何库。
媒体评论回到顶部↑
“如果你想结合Ajax前端技术和Java服务器端技术来构建Web 2.0应用,我强烈推荐你学习这本实战佳作……Frank W.Zammetti总是在轻松诙谐的气氛中让你领悟一流的技术。”——slashdot.org .
“本书能为你的开发节省大量时间,并且大大深化你对Ajax技术的理解。”——javapassion.com ..
“如果你想使用最新最热门的Ajax技术进行Web开发,本书将是最佳选择。”——ajaxian.com ...
“本书能为你的开发节省大量时间,并且大大深化你对Ajax技术的理解。”——javapassion.com ..
“如果你想使用最新最热门的Ajax技术进行Web开发,本书将是最佳选择。”——ajaxian.com ...
书摘回到顶部↑
第一部分使用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已有所改进。“改进”当然是相对的,换个环境它就不是更好。可以想象,那些整天低头输入数据的人可能倾向于使用旧的绿屏幕,因为它们对于键盘输入更加高效。……
第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已有所改进。“改进”当然是相对的,换个环境它就不是更好。可以想象,那些整天低头输入数据的人可能倾向于使用旧的绿屏幕,因为它们对于键盘输入更加高效。……







点击看大图



加载中...

