前 言
关于Ajax
到底什么是Ajax?首先来看看图1所示的页面效果(网址是http://projects. backbase.com/RUI/shop.html)。这是一个购物网站的界面,界面左边是各种商品,右边是一个购物车的列表。
![]() |
| 图1 |
当用户选中某种商品,可使用鼠标光标拖动方式将其添加入右边的购物车中,如图2所示。
![]() |
| 图2 |
拖动完毕后,商品已经被加入了购物车的列表中,如图3所示。
![]() |
| 图3 |
下面再举一个Google的例子,打开Google Map网站http://maps.google.com/,如图4所示,用户可以在上面随意拖动地图,可以看到地图立刻被刷新,而不需要长时间的等待,这在以前的网站中是不可想象的。
![]() |
| 图4 |
打开Google Suggest网站http://www.google.com/ webhp?complete=1&hl=en,用户输入一个关键字,输入框下就会提示出相应的建议信息。这建议信息是从Google的庞大数据库中读出来的,使用十分方便(注:Google Suggest效果将会在本书的第6章给出实现方法)。
上面列举的网页响应速度更快、可以实现拖动等桌面应用程序的效果。普通的网页对任何提交请求,都要等待服务器的响应,然后网页才有所动作。也就是说,采用Ajax技术的网页具有了和Windows桌面很类似的功能,操作更加人性化,极大地提高了用户的体验。
如今随着Web 2.0概念的普及,追求更美观更人性化的页面效果成了网站开发的重中之重。Ajax这项技术正在其中充当着重要的角色。
关于Lucene
如今的互联网上信息量非常庞大,想要在网上获取一些有用的信息相当困难,没有搜索引擎的帮助,用户往往不知所措。
搜索引擎是一个特殊的技术行业,它的技术门槛比较高,如果完全自主研发,一个公司可能要经过几年时间的开发和完善才能建立起一套自己的搜索引擎软件,且不论这种软件的性能可靠性等技术参数,单是漫长的研发时间就会使很多商机从手中溜走。这对一些新兴的靠市场动向盈利的小公司来说是致命性的。另外,这种自主研发的软件如果没有经过严格的用户测试,就盲目投放市场,它的性能参数往往不能达到并发性需要。
在很多商业型项目中都需要有搜索的功能,目前大都使用数据库的SQL语言实现搜索。然而,当遇到全文检索时(例如对一个公司5年来所有报表数据和会议记录的搜索),数据库搜索的速度和性能就无法满足需求了。在这种情况下,很多项目都选择构买Google等公司的搜索服务,这种方式不但昂贵,而且有可能泄露公司机密。
在笔者所接触的项目中,只要是与全文检索有关的,除了使用数据库自带的索引功能外,其余都是使用Lucene来进行开发的。
Lucene是Apache开源软件联盟贡献的一个开源全文检索工具包。通过它,我们可以很方便地构建起搜索引擎,这就消除了费用昂贵和容易泄露机密的问题。它完全由Java编写,一次编译,随处运行。它的性能和可用性已经在全世界范围内得到了认可。
在Google上搜索“Lucene”这个关键字,在2005年12月17日晚8点左右可以找到112万个结果。而在2006年3月21日早8点进行搜索,已经可以找到739万个结果,可见其发展之快。Eclipse就是使用Lucene作为其内建的搜索工具,IBM的网站也正是用Lucene来构建的它站内检索工具的。
关于本书
本书由浅入深讲解理论知识,同时又配以很多示例代码。
Ajax是一种应用于Web编程的技术,而Lucene本身是用Java语言编写完成的,因此本书最适合有一定Web开发和Java编程基础的人。如果读者对Web编程技术和Java编程技术不是十分清楚,建议先阅读相关资料,然后再来学习本书。
同时,Java语言是一种面向对象的程序语言,所以读者最好具有一定的面向对象编程的理论基础。
本书分为两大部分共16章。
第1部分为Ajax的相关知识,共分7章。这部分内容包括Ajax入门体验、JavaScript关键技术、CSS表示技术、DOM技术、XmlHttpRequest对象和Ajax的工作流程、经典实例以及页面编程中的性能和安全性问题等内容,这部分内容旨在帮助读者快速掌握Ajax技术。
第2部分为Lucene的相关知识,共分9章。这9章的内容包括Lucene基本概念、入门实例、建立索引、通过索引来搜索文件、使用分析器、高级搜索技巧、性能测试、中文问题,以及Lucene中的一些实用工具。
本书特色
(1)实例丰富。本书包括了大量的代码片断,并都进行了详细的注释。在第1部分中,专门用一章来讲解完整的Ajax范例,以便帮助读者更好地理解相关技术的综合运用。另外,在第2部分中,每一章都给出了大量的例子来对API的使用进行演示;同时,在“性能测试”一章中也专门给出一个有关建立索引的较为完整的工具,以便于读者进行学习和参考。
(2)引导式学习。本书的各个章节都是从零开始讲起,然后不断地扩展需求,提出新的问题,然后讲解问题的解决方法。
(3)程序员本色。由于作者本身就是一线开发人员,因此最了解程序员的需求。
(4)及时跟进最新动态。Ajax与Lucene的发展迅猛,我们将及时跟踪它们的最新动向,请读者随时关注我们的Blog。读者可以直接同我们交流。同时,一些在本书光盘中并未选录的资料也将被放置在我们的Blog中,地址是http://blog.sina.com.cn/u/1197616372,读者可以方便获取到。
注意
• 在本书即将完成之际,Lucene的网站http://lucene.apache.org发布了其最新版本1.9。而本书所有的实例均使用其上一个版本1.4.3,建议读者学习时使用1.4.3版本。
• 本书中所有的代码标号仅是为正文中引用方便,配套光盘中的代码均按章节存储在相应的目录下。
作者
2006年4月
| 回书目 下一节 |
|
· 系统分析师自测获奖名.. · Linux结课考试自测获奖.. · 上周Linux系统命令的使.. · 上周真题冲刺测试获奖.. · 全国计算机等考四级模.. · 08年3月各大网上书店及.. |
· 网络工程师模拟测试获.. · 全国计算机软考考试指.. · 3月24日WCF聊天活动 积.. · 全国计算机等级考试四.. · 软件项目估计:第2版 · 系统分析师基础知识自.. |
|
||||
| · 微软出价446亿美元收购.. · 网络故障排除宝典 · Vista SP1对决XP SP3 · 2008年上半年全国软考.. · AIX操作系统管理应用(.. · 华为员工自杀频频拷问.. · 三层交换技术专题 · ARP攻击防范与解决方案 |
· 隐私保护技术探讨 · 反垃圾邮件技术应用 · 龙芯要做中国的“奔腾” · Windows Server 2008专.. · AMD Phenom三核处理器.. · 路由器设置与口令恢复 · 微软Forefront企业安全.. · 企业数据恢复指南 |
|||
|
||||
| · SQL Server 2008/2005.. · SOA 面向服务架构 · SQL Server 2008/2005.. · iSCSI应用与发展 · RAID——磁盘阵列基础 · Apache技术专题 · 中间件应用技术专题 · 三层交换技术专题 |
· SQL Server入门到精通 · Apache技术专题 · 国际文档格式标准开战 · 路由器设置与口令恢复 · 打造安全服务器 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 |
|||
|
||||
| · iSCSI应用与发展 · 中间件应用技术专题 · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · iSCSI应用与发展 · 三层交换技术专题 |
· Apache技术专题 · 企业数据恢复指南 · RAID——磁盘阵列基础 · 路由器设置与口令恢复 · SOA 面向服务架构 · ADSL应用面面俱到 · ADSL应用面面俱到 · 反垃圾邮件技术应用 |
|||