




已阅读5页,还剩68页未读, 继续免费阅读
(大地测量学与测量工程专业论文)基于ajax的webgis研究与应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
桂林工学院硕士学位论文 中文捅要 w e b g i s 是利用互联网来扩展和完善地理信息系统的一项应用技术 是g i s 发展的一个 重要方向 w e b g i s 可以让人们在任何时间 任何地点通过任何标准浏览器在互联网上获取 所需的各种地理空间信息 使g i s 走入千家万户 w e b g i s 作为数字地球 数字中国 数字 城市建设基础设旌的关键技术之一 受到了越来越广泛的关注 同时也成为2 0 0 3 后出现的 新一轮互联网浪潮 w e b 2 0 的重要标志 随着g i s 网络 数据库等相关技术的发展 人 们对空间数据的浏览 查询和分析等要求越来越高 提高服务性能 改善用户体验 满足用 户需求已成为w e b g i s 急需解决的问题 本文分析了传统的w e b g i s 空间信息发布技术如 a c t i v e x j a v aa p p l e t 和s v g 发现这些方法有速度慢 交互差 功能弱 对客户端要求高 跨平台难等缺点 引入a j a x 技术来改进w e b g i s 研究基于a j a x 技术的w e b g i s 的原理和应 用 重点做了以下工作 1 探讨了a j a x 与w e b g i s 的集成技术 在分析a s p n e ta j a x 的基础上 研究了a j a x 和w e b g i s 的集成技术 并深入探讨了a j a x 与g i sw e bs e r v i c e 标准服务的集成方法 2 全面剖析了m a p l n f o 公司的最新w e b g i s 产品m a p x t r e m e n e t2 0 0 5 的a j a x 源代码 总结出a j a x 框架的体系结构 设计模式和工作机制 说明了a j a x 框架的使用方法 并指出 了a j a x 框架的缺点 提出了改进方法 3 以公众服务网络地理信息平台为例 以m a p x t r m e n e t2 0 0 5 和a s p n e t 为开发平台 说明了基于a j a x 的w e b g i s 的应用方法 文中设计了系统的体系结构和主要功能 并详细分 析了主要的a j a x 功能 给出了实现方法 基于a j a x 技术的w e b g i s 能够很好的适应多种浏览器 减少数据传输 改善用户体验 减轻服务器压力 提高w e b g i s 整体性能和可用性 这种方法改变了w e b g i s 的交互模式 是 一种实用的w e b g i s 客户端技术 为数字城市的建设和w e b g i s 的大众化应用提供了重要的技 术保障 关键词 a j a x w e b g i s m a p x t r m e 2 0 0 5 公众服务 网络地理信息 x m l h t t p x m i h t t p r e q u e s t 桂林工学院硕士学位论文 b s t r a c t w e b g i si st h ec o m b i n a t i o no fg i sa n di n t e r n e tt e c h n o l o g ya n di so n eo ft h em a i n d e v e l o p m e n td i r e c t i o n so fg i s t h r o u g hw e b g i s p e o p l ec a na c c e s st h es p a t i a ld a t a a n dr e l a t i v ei n f o r m a t i o nb ya n ys t a n d a r db r o w s e ra ta n yt i m ea n da ta n yw h e r e w e b g i s i st h ec r u c i a lt e c h n o l o g yo fd i g i t a le a r t h d i g i t a lc h i n aa n dd i g i t a lc i t y i ta l s o b e c o m e st h ei m p o r t a n tf l a go ft h ei n t e r n e ts u r fo fw e b 2 0w h i c hb e g i n sf r o m2 0 0 3 w i t ht h ed e v e l o p m e n to fr e l a t i v et e c h n o l o g y p e o p l ea r ei nm o r eg r e a tn e e do ft h e a c c e s s a n a l y s i so ft h es p a t i a li n f o r m a t i o n t h ep r o b l e m so ft h ei m p r o v i n gs e r v i c e p e r f o r m a n c e s t r e n g t h e n i n gu s e re x p e r i e n c ea n ds a t i s f y i n gu s e r sr e q u i r e m e n t sa r e u r g e n t l yt ob es o l v e d t h i sp a p e rd i s c u s s e st h et r a d i t i o n a lt e c h n o l o g i e ss u c ha s s t a t i ci m a g e a c t i v e x j a v aa p p l e t s v g f i n dt h a tt h e r ea r es o m es h o r t c o m i n g ss u c h a sl o ws p e e d 1 i t t l ei n t e r a c t i o n s w e a kf u n c t i o n s m u c hr e q u i r e m e n t so nt h ec u s t o m m a c h i n e sa n dd i f f i c u l t i e st os p a np l a t f o r m s t h e ni n t r o c u e st h ea j a xt e c h n o l o g yt o r e c o n s t r u c tw e b g i sa n ds t u d i e st h eb a s i cp r i n c i p l eo ft h ew e b g i sb a s e do na j a xa n d i t sa p p l i c a t i o n 1 i tp r o b e si n t ot h ei n t e g r a t i o no fa j a xa n da s p n e t t h e i n t e g r a t i o no f w e b g i sw i t ha s p n e ta j a xa n di t si n t e g r a t i o nw i t hg i sw e bs e r v i c e 2 g i v e sd e t a i l e da n a l y s i so ft h es o u r c ec o d eo fm a p x t r e m e n e t2 0 0 5w h i c hi s t h en e w e s tw e b g i sp r o d u c to fm a p i n f o i ta n a i z et h et h ea j a xf r a m e w o r k d e s i g n p a t t e r na n dw o r kp r i n c i p l e t h e ni tp o i n t so u tt h es h o r t c o m i n g so ft h ea j a xf r a m e w o r k a n dg i v e ss o m ea d v i c e st om a k ei tp e r f e c t 3 t a k e st h ep u b li cs e r v i c ew e b g i sa se x a m p l e h a st h em a p x t r e m e n e t2 0 0 5a n d a s p n e ta st h ed e v e l o p m e n tp l a t f o r m i ts t u d i e st h ea r c h i t e c t u r eo fw e b g i s a p p l i c a t i o nb a s e do na j a xa n df u n c t i o nd e s i g n i tg i v e st h ed e t a i ld i s c u s s i o na b o u t t h em a i na j a xf u n c t i o na n di t si m p l e m e n t a t i o n w e b g i sb a s e do na j a xc a na d a pt om a n yk i n so fb r o w s e r s d e c r e a s ed a t a t r a n s f o r m a t i o n s t r e n g t h e nu s e re x p e r i e n c e sa n dl i g h t e np r e s s u r e so fg i ss e r v e r s t h i st e c h n o l o g ya l t e r e st h ei n t e r a c t i o nm o d eo ft r a d i t i o n a lw e b g i s i ti sa n e x c e l l e n tc h o i c ef o rt h ec l i e n to fw e b g i sa n di st h ei m p o r t a n tt e c h n o l o g yw a r r a n t y f o rt h ec o n s t r u c t i o no fd i g i t a lc i t ya n dp o p u l a r i t yo fw e b g i s k e yw o r d s a j a x w e b g i s m a p x t r m e 2 0 0 5 p u b l i cs e r v i c e i n t e r n e tg i s x m l h t p p x m l h t t p r e q u e s t i i 桂林3 学院硕士学位论文 研究生学位论文独创性声明和版权使用授权说明 独创性声明 本人声明 所呈交的论文是我个人在陈大克教授指导下进行的研究工作及取得的研究成 果 尽我所知 除了文中特别加以标注和致谢的地方外 论文中不包含他人已经发表或撰写 过的研究成果 也不包含为获得桂林工学院或其它教育机构的学位或证书而使用过的材料 对论文的完成提供过帮助的有关人员已在论文中作了明确的说明并致以了谢意 学位论文作者 签字 l 耻d j 鼙l 签字日期 盘z 五 望 版权使用授权说明 本人完全了解桂林工学院关于收集 保存 使用学位论文的规定 e p 按照学校要求提 交学位论文的印刷本和电子版本 学校有权保存学位论文的印刷本和电子版 并提供目录检 索与阅览服务 学校可以采用影印 缩印 数字化或其它复制手段保存论文 在不以赢利为 目的前提下 学校可以公布论文的部分或全部内容 保密论文在解密后遵守此规定 学位论文作者 签字 指导教师签字 签字日期 桂林工学院硕士学位论文 第一章绪论 w e b g i s 是w e b 技术和g i s 相结合的产物 其核心是在g i s 中应用标准的w w w 功能 使 之真正成为一种大众使用的工具 通过w e b g i s 用户从w w w 的任意一个节点都可以浏览空 间数据 制作专题图 以及进行各种空间检索和空间分析 从而使g i s 进入千家万户 1 1w e b g i s 发展现状 w e b g i s 的发展经历了不同的阶段 w e b g i s 最初采用公关网关接口 c o m m o ng a t e w a y i n t e r f a c e c g i 方法 然后采用i d c a s p i s a p i n s a p i 等技术方法 后来产生了插件 p l u g i n 的应用技术以及a s p 和a s p n e t 技术 1 目前在局域网使用的比较多的有j a v a a p p l e t 和a c t i v e x 技术 每一种w e b g i s 技术的发展都同当时的技术条件密不可分 基于j a v aa p p l e t 的方法最 早应用于e s r i 公司 从a r c i m s 4 0 到现在的a r c l m s 9 x e s r i 的w e b g i s 都应用了这种方法 m a p i n f o 公司也发布了自己的j a v a 版本的m a p x t e m ef o rj a v a 基于a s p n e t 的w e b g i s 是 在最近几年随着m i c r o s o f t 的 n e t 技术的广泛应用而出现的 其开发和部署非常方便 效 率也高 因此在短短的几年间迅速流行起来 其代表产品有北京超图公司的s u p e r m a pi s n e t m a p i n f o 公司的m a p x t r e m e 2 0 0 5 a r c i m s 9 2 等 1 2w e b g l s 技术分析 根据网络地图服务处理的方式 处理空间信息类型和空间信息打包方式的不同 网络地 图服务通常有三种实现方式图像方式 图形要素方式和数据方式 叫 1 2 1 图像方式 图像方式是一种瘦客户 胖服务器地图服务处理模式 由地图服务器生成如g i f j p e g p n g 等标准格式地图图像 然后通过i n t e r n e t 传送给用户 用户的每次操作请求 如缩放 漫游 都要求服务器重新生成图像 用这种方式实现的w e b g i s 构造简单 不受客户端技术限制 容易实现和便于更新 这 样就可以充分利用原有的g i s 资源 随着网络技术的发展和网络性能的提高 这种技术还有 很大的发展和应用空间 使用这种方法有下列技术难点 1 浏览器不能读取矢量数据 空间数据 即使是规范的g m l 数据也不能在i e 或者 f i r e f o x 等标准浏览器上直接显示 因此g i s 服务器首先要把空间数据由矢量格式转换成目 前浏览器支持标准如j i f j p g p n g 格式的栅格图像 再发送给浏览器 从而使得地图数据 传输量很大 2 g i s 空间数据类型与浏览器所支持的数据类型相差很大 目前还不能进行一一对应 l 桂林工学院硕士学位论文 的转换 很多复杂的空 日j 分析和应用 如数据的编辑 图层的移动等操作在基于静态图像的 w e b g i s 都难以实现 基于图像方式的网络地图服务模式往往采用c g i 或s e r v e r a p i 技术通过网络服务器调用 外部应用程序的接口来扩展网络服务器的功能 1 c g i 技术嘲 通用网关接口 c o m m o ng a t e w a yi n t e r f a c e c g i 是连接外部应用程序和w e b 服务器的 标准技术 是w e b 服务器调用外部应用程序时的参数规范协议 c g i 是h t m l 的功能扩展 提供了浏览器和服务器之间以及服务器和服务器上其他软件之间的连接接口 通过c g i 用户 可以发送一个请求到服务器 服务器再把请求传到后端的应用软件上 这个特定的应用软件 就按照给定的要求产生结果并交给服务器 服务器再把这一结果送给远程用户 用户通过 h t m l 表格和栅格图像输入指令 而所有g i s 操作和分析 都是在g i s 服务器上完成的 服 务器端包括w e b 服务器和g i s 服务器两个服务进程 两者通过t c p i p 协议进行通讯的 既 可以运行在一台主机上也可以分别运行在两台计算机上 最终服务器以图像和h t m l 文件的 方式反馈 目前市场上推出的w e b g i s 系统软件中 有一部分就是基于这一原理实现的 如 e s r i 公司的a r c v i e wm a ps e r v e r 和m a p l n f o 公司的m a p l n f op r o s e r v e r 2 s e r v e ra p i 技术 s e r v e ra p i 服务器应用程序接口 技术对c g i 方法的低效率进行了改进 利用动态链接 库技术 以线程代替进程来提高服务的性能和速度 s e r v e ra p i 将w e b 服务器与某一应用 程序接口相连 a p i 将得到的结果转化为h t m l 文档并返回给w e b 服务器 然后由w e b 服务 器将得到的h t m l 文档传给浏览器 目前最有影响的s e r v e ra p i 主要有m i c r o s o f t 的i s a p i s e r v e ra p i 的基本原理类似于c g i 不同之处在于c g i 程序可以单独运行 而基于 s e r v e r a p i 的程序依附于特定的服务器和计算机平台 如m i c r o s o f ti s a p i 依附于i i s i n t e r n e t i n f o r m a t i o ns e r v e r 只能在w i n d o w s 平台上运行 可移植性较差 但是基于 s e r v e ra p i 的动态连接模块启动后会一直处于运动状态 所有的h t t p 服务器进程能够直接 利用各种资源 而c g i 每次都要重新启动 因而s e r v e ra p i 速度比c g i 快 s e v e ra p i 技术主要包括a s p 和j s p s e r v l e t a s p a c t i v es e r v e rp a g e 是m i c r o s o f t i i s 的一个组件 利用它可以产生动态的 交互的 高性能的w e b 服务应用程序 j s p j a v a s e r v e r p a g e 技术提供了一种建立动态网页的简单方法 作为j a v a 技术的一部分 j s p 能够快速开发出基于w e b 的 独立于平台的应用程序 1 2 2 图形要素方式 图形要素方式属于均衡处理方式 客户端承担地图显示和地图整饰处理 而服务器端承 担地图要素生成和空间数据选择 过滤 处理 在这种处理方式下 客户机和服务器之间传送 的实际上是已打包的要素数据集合 这些要素已经经过地图投影处理 配准在一定的大地坐 标系之下 并且依据一定的图例和图式要求进行了标准地图符号化处理 图形要素方式允许 2 桂林工学院硕士学位论文 g i s 分析和g i s 数据处理在客户端执行 这些g i s 分析工具和g i s 数据最初驻留在服务器 用户通过浏览器向服务器发出需要的g i s 数据和g i s 处理工具的请求 服务器将所需要的 g i s 数据和g i s 处理工具传送给客户端 客户端接受所需要的g i s 数据和g i s 处理工具 按 照用户的操作 进行g i s 数据处理和分析 由于所需要的g i s 数据和g i s 处理工具己经到达 客户端 因而具有操作方便 灵活 速度快等优势 该方式通常采用j a v aa p p l e t p l u g i n 和a c t i v e x 控件等技术方法实现 1 j a v aa p p l e t 技术 j a v a 语言是一种面向对象的语言 具有跨平台 简单 动态 运行稳定 分布式 安 全等特点 因而是因特网上重要的编程语言 j a v aa p p l e t 是用j a v a 语言开发的一个应用 程序 是从服务器下载到客户机用以支持j a v a 在互联网浏览器上运行的可执行代码 j a v a a p p l e t 与w e b 浏览器紧密结合 以扩展w e b 浏览器的功能 完成g i s 数据操作和g i s 处理 m a p i n f o 公司的m a p x t r e m ef o rj a v a 就是采用这种技术构建的 用j a v aa p p l e t 构建w e b g i s 地图服务具有体系结构中立 与平台和操作系统无关 动 态运行 无需在用户端预先安装 服务器和网络传输的负担轻 g i s 操作速度快的优点 但 是其使用已有g i s 操作分析的能力较弱 处理大型的g i s 分析的能力有限 g i s 数据的保存 分析结果的存储和网络资源的使用能力受限 而且初始加载速度慢 需要在客户端安装j v m 这使得j a v aa p p l e t 的应用受到了一定的限制 2 p l u g i n 技术 p l u g i n 是嵌入在浏览器上的可执行的g i s 软件 p l u g i n 的主要作用是使w e b 浏览器 能够处理特定格式的g i s 数据 并为w e b 浏览器与g i s 服务程序的通讯提供条件 p l u g i n 既可以直接处理来自服务器的g i s 数据 也可以生成自己的数据 供w e b 浏览器或其他 p l u g i n 显示使用 基于p l u g i n 技术的w e b g i s 的典型代表有a u t o d e s km a p g u i d e 用p l u g i n 构建的w e b g i s 不但可以增加网络浏览器处理地理空间数据的能力 使人们 更容易获取地理数据 而且插件处理和传输的是矢量数据 数据量小 网络也只需一次性传 输g i s 数据 这样就加快了用户操作的反应速度 减少网络服务器的信息流量从而使服务器 能更有效地为更多的用户服务 但p l u g i n 与运行平台 操作系统及g i s 数据类型有关 即 对于不同的g i s 数据 不同的操作系统 不同的浏览器需要有各自不同的p l u g i n 支持 且 插件需要先下载安装才能使用 同时还存在插件程序版本升级等问题 3 a c t i v e x 控件 1 e c t i v e x 是建立在o l e 技术之上发展起来的i n t e r n e t 技术 其基础是c o m c o m p o n e n t o b j e c tm o d e l 它是为扩展m i c r o s o f tw e b 浏览器i e 功能而提供的公共框架 a c t i v e x 控 件和p l u g i n 非常相似 所不同的是 a c t i v e x 能在支持o l e 标准的任何程序语言或应用系 统中使用 而p l u g i n 只能在某一具体的浏览器中使用 基于a c t i v e x 控件的w e b g i s 依赖a c t i v e x 来完成g i s 数据的处理和显示 具有执行速 度快 可复用性强的优点 但是 目前只有i e 全面支持a c t i v e x 控件 只能在m s w i n d o w s 3 桂林工学院硕士学位论文 平台上运行 兼容性较差 而且由于其可以进行磁盘操作 所有其安全性较差 4 n e t 组件 n e t 框架是生成 部署和运行应用程序和w e b 服务的平台 提供了一个生产率高且基 于标准的多语言环境 n e t 框架由三个主要部分组成 公共语言运行库 统一类库和a s p n e t 网页制作技术 在 n e t 程序中集成了元数据 使得任意的 n e t 程序单元都成为组件 基于 n e t 技术的w e b g i s 类似与基于j a v aa p p l e t 技术的w e b g i s 但目前只有i e 浏览 器支持 n e t 组件 而且要求客户端安装 n e t 框架 1 2 3 数据方式 数据方式是一种胖客户 瘦服务器处理方式 地图显示 地图整饰以及地图要素生成等 处理任务都在客户端完成 服务器端仅承担数据选择 过滤 以及数据符号化任务 数据方式 提供了将空间数据从服务器到客户机的传输能力 用x m l 或g m l 语言作为数据编码来实现空 间数据的处理和选取 该方法目前多采用s v g 技术 s v g s c a l a b l ev e c t o rg r a p h i c s 由权威的w 3 c 组织制定并推荐 是一种基于x m l 的 用来描述二维矢量图形和矢量 点阵混合图形的置标语言 s v g 规范定义了s v g 的特征 语 法和显示效果 包括模块化的x m l 命名空间 n a m e s p a c e 和s v g 文档对象模型 d o m s v g 的绘图可以通过动态和交互式方式进行 在实际操作中 则是以嵌入方式或脚本方式来实现 的 s v g 不仅提供超链接功能 还定义了丰富的事件 由于s v g 支持脚本语言 s c r i p t 可以通过s c r i p t 编程 访问s wd o m 的元素和属性 即可响应特定的事件 从而提高了s v g 的动态和交互性能 s v g 实现了图形 图象和文字的有机统一 为实现w e b g i s 提供了基本 支撑 s v g 方式的特点是客户端的地图服务应用软件功能较强 除了在地图显示方面具有图形 缩放 移动 选取 删除 拷贝等基本功能外 还增加了地图编辑和地图整饰功能 用户可 以根据自己的需要对地图数据进行着色 符号化和地图设计等处理 用户的自主性较强 但 对客户端性能的要求较高 客户端的负担较重 1 3 传统w e b g i s 的缺点和不足 上面提到w e b g i s 实现技术 有的是服务器技术 如c g i s e r v e ra p i 有的是客户端 技术 如j a v aa p p l e t p l u g i n a c t i v e x 和s v g 不同的技术都具有一定的优缺点 4 桂林工学院硕士学位论文 表1 1w e b g i s 客户端技术比较 运行操作系统是否需要下载用户操作 类别名称浏览器功能 或环境 安装软件速度响应速度 幽像h t m l 静态图像任意 任意不需要快 慢一般 j a v aa p p l c tj v m任意不需要慢快强 a c t i v e xw i n d o w si e 需要慢 快强 图形 p l u g i n 任意任意需要慢快强 n e t 组件 n e tf r a n l e w o r k 任意不需要 慢快强 数据s v g任意任意需要慢快较强 理想情况 a j a x 任意 任意不需要快 快 强 分析上面的表格 可以得出以下两点结论 1 基于图形和数据方式通过扩充浏览器而实现w e b g i s 的功能 可以选择的技术手段 比较多 但数据下载量较大 加载速度慢 它们对运行环境都有一定的限制 有的只能在一 定的操作系统下运行 如a c t i v e x 有的需要安装虚拟机 如j a v a a p p l e t 有的需要安装 插件 如s v g 速度慢和对平台的限制使得这些技术适合在i n t r a n e t 上使用 而在i n t e r n e t 上的应用有着一些难以克服的障碍 2 基于图像方式利用浏览器本身的功能来实现w e b g i s 的功能 这种方法响应速度慢 但对运行环境要求低 数据下载量小 因此适用于在i n t e r n e t 网络中使用 如果能够提高 用户操作的响应速度 减少浏览器与服务器的数据传输 将会大大提升整体性能 增强系统 功能 提高用户体验 1 4 本文的研究目的和意义 当前i t 技术发展迅速 新技术不断涌现 而新技术的出现必将取代落后的技术 同时 也为w e b g i s 的发展提供新的机遇 传统的w e b g i s 技术操作模式显得过于庞大而臃肿 严重 阻碍了它的发展和普及 在近两年兴起的a j a x 技术 使用异步的方式发送请求 服务器只返回的客户端所要获 取的变化了的数据 而非页面所有的内容 这样既减少了信息量 同时也大大提高了响应速 度 而且它属于一种轻客户端技术 不用安装任何运行环境或插件 可以适应大多数的标准 浏览器 使用a j a x 技术来改进传统的w e b g i s 是w e b g i s 的一个重要发展方向 可以取得 轻松快捷的部署 但性能却有如桌面平台一样优越 功能强大 g o o g l e 作为全球领先的i t 运营商 其完全基于a j a x 的w e b g i s 产品g o o g l em a p s 自推出以来很快就引起了轰动 而 且很快在i n t e r n e t 上流行起来 其快捷的请求 响应周期以及平滑的操作感受体现出a j a x 的强大功能 桂林工学院硕士学位论文 1 1 1 酯乏丽睿和熏陬话栖 本文主要研究了a j a x 技术及其在w e b g i s 中的应用 第一章 绪论 分析了传统w e b g i s 空间信息发布技术 针对它们的弱点和不足 引入 a j a x 技术来改进w e b g i s 第二章 a j a x 基本原理 探讨了a j a x 的工作机制 对a j a x 的核心技术做了详细分析 第三章 基于a j a x 的w e b g i s 的集成方法 分析了a j a x 与a s p n e t 的集成原理 探讨 了基于a s p n e ta j a x 的w e b g i s 的集成技术以及a j a x 与地理空间信息w e bs e r v i c e 的集成 方法 第四章 a j a x 在m a p x t r e m e n e t2 0 0 5 中的实现 详细分析了a j a x 框架的体系结构 设计模式和工作机制 并通过剖析源代码 指出了a j a x 框架的缺点 提出了改进方法 第五章 应用实现一以城市公众地图服务平台为例 阐述了基于a j a x 的w e b g i s 公众服 务平台的体系结构和功能设计 分析了主要的a j a x 操作 提供了具体的实现方法 论文的组织结构见下图 6 桂林3 学院硕士学位论文 第一章绪论 j l 第二章a j 的基本原理 一 1 i i 第三章a j a x 与w e b g l s 的集成 i 卫 j 第四章a j a x 在m a p x t r e m e n e t 2 0 0 5 中的实现 i 班 j 二 甄 jl 二 l 第五章 i 二 二 二 二 i a j a xw e b g i s 的设计与实现 i 图1 2 论文内容和组织结构 7 桂林工学院硕士学位论文 第二章a j a x 基本原理 2 1a j a x 概念 a j a x a s y n c h r o n o u sj a v a s c r i p ta n dx m l 是由a d a p t i v ep a t h 公司的j e s s ej a m e s g a r r e t t 于2 0 0 5 年提出的 a j a x 是异步j a v a s c r i p t 和x m l 技术的组合0 1 但现在a j a x 的 定义有了进一步的扩展 任何浏览器与服务器通信而无需刷新当前页面的技术都属于a j a x 范围 a j a x 有机地包含了以下几种技术 基于w e b 标准x h t m l c s s 的表示 s t a n d a r d s b a s e d p r e s e n t a t i o n 使用d o m d o c u m e n to b j e c tm o d e l 进行动态显示及交互 使用删l 和 x s l t 进行数据交换及相关操作 使用x m l h t t p r e q u e s t 进行异步数据查询 检索 使用 j a v a s c r i p t 将所有的东西绑定在一起 a j a x 的组成见下表 表2 ia j a x 组成 名称 作用 x h 刑l 和c s s呈现 d o m d o e u m e n to b j e c tm o d e l 动态显示及交互 x m l 和x s l t数据交换及相关操作 x m l h t t p r e q u e s t异步数据查询 检索 j a v a s c r i p t 将所有的东西绑定在一起 a j a x 是一种创建交互式w e b 应用的客户端技术 目前大多数的浏览器都支持a j a x 而 且不用安装任何第三方软件或插件 传统的w e b 应用都是以同步方式工作 对于客户端的请 求 服务器每次都发送一个完整的页面 而a j a x 则以异步方式工作 对于用户的请求只返 回必需的x m l 文本数据 这些数据只是整个页面的一小部分 因此不用刷新整个页面 a j a x 通过增加一个中间层x m l h t t p j a v a s c r i p t 减少不必要的页面提交而优化w e b 应用 减少 数据传输 改善用户体验 使得w e b 开发更接近应用程序 2 2a a x 工作机制 a j a x 采用异步交互模式 在用户与服务器之间引入一个中间层 从而消除网络交互过 程中 处理一等待一处理一等待 的缺点 a j a x 采用j a v a s c r i p t 脚本语言编写 负责用户 界面及与服务器之间的交互异步进行 独立于用户与网络服务器问的交流 用j a v a s c r i p t 调用a j a x 引擎来代替产生一个h t t p 的用户动作 如内存中的数据编辑 页面导航 数据校 验等无需重新载入整个页面的请求 a j a x 应用的体系结构见下图 8 桂林工学院硕士学位论文 浏览器 e 巫亘了 a v 猫c n p t i 调用h l 十c s a j 引擎 h t t p l 请求 f h p s 传输i lx m l 数据 li w e b 和x m ls e l v e r if 数据存储 后台管理 服务器 图2 1 基于a j a x 引擎的w e b 应用体系结构模型 传统的w e b 应用允许用户填写表单 f o r m 当提交表单时就向w e b 服务器发送一个请求 服务器接收并处理传来的表单 然后返回一个新的网页 这个做法浪费了许多带宽 因为在 前后两个页面中的大部分h t m l 代码往往是相同的 由于每次应用的交互都需要向服务器发 送请求 这导致了用户界面的响应比本地应用慢得多 与此不同 a j a x 应用可以仅向服务器发送并取回必需的数据 它使用s o a p 或其它一些 基于x m l 的w e bs e r v i c e 接口 并在客户端采用j a v a s c r i p t 处理来自服务器的响应 因为 在服务器和浏览器之间交换的数据大量减少 得到响应更快的应用 同时很多的处理工作可 以在客户端上完成 所以w e b 服务器的处理时间也减少了 2 3a j a x 核心技术嘲聊 a j a x 不是一种简单的技术 而是多种技术的有机集成 a j a x 核心技术包括 x m l h t t p r e q u e s t 3 a v a s c r i p t 和d o m 技术 其中x m l h t t p r e q u e s t 用于异步的发送请求和接 收数据 j a v a s c r i p t 作为粘合剂 用于操作x m l h t t p r e q u e s t 把接收到的数据通过d o m 更 改页面而变现出来 2 0 1x m l h t t p r e q u e s t i s l l g l x m l h t t p r e q u e s t 是实现异步通讯的根本 是a j a x 引擎解决无需刷新整个页面即可从服 务器获取所需数据问题的关键 x m l h t t p r e q u e s t 最早在i e5 中以a c t i v e x 组件实现 最近 9 桂林工学院硕士学位论文 m o z i l l a1 0 和s a f a r i1 2 中实现把它为本地对象 使用x m l h t t p r e q u e s t 不必从当前的 w e b 页面导航而直接与服务器进行双向数据传输 它弥补了无状态连接的缺点 排除下载冗 余w e b 数掘的需要 从而提高了进程速度 x m l h t t p r e q u e s t 虽然不是w 3 g 标准 但却得到 了f i r e f o x s a f a r i o p e r a k o n q u e r o r i e 等绝大多数浏览器的支持 这就使得a j a x 有 了迅速的发展 a j a x 的交互模式在客户端多出来了一个x m l h t t p 而且服务器传给客户端的已经不再 是h t m l c s s 而是纯的x m l 数据 客户端通过x m l h t t p 向服务器端发送请求 所有的表 示逻辑在客户端通过j a v a s c r i p t 脚本来执行 然后通过修改d o m 来完成展现 传统的基于h t m lf o r m 的交互模式下用户的大量时间都浪费在了无聊的等待之上 a j a xw e b 应用可以把以前必须在服务器端完成的很多交互工作放在了客户端完成 而客户 端的x m l h t t p 的响应是即时的 因此用户的交互体验得到了极大的改善 这种新的交互模式 的最大优点就是改善了用户的体验 此外还有很多其它方面的优点 例如不需要刷新页面 减少了服务器的处理负担 减少了交换的数据量等等 下图是a j a x 应用的交互模式图 i 图2 2 a j 应用的标准交互模式 i i 用x m l h t t p r e q u e s t 进行异步通讯 首先必须用j a v a s c r i p t 创建一个x m l h t t p r e q u e s t 对象 创建x m l h t t p r e q u e s t 对象实例的代码清单如下所示 v 盯x m l h t t p f u n c t i o nc r e a t e x m l h t t p r e q u e s t 0 i f w i n d o w a c t i v e x o b j e c t x m l h t t p n e w a c t i v e x o b j e c t m i c r o s o f t x m l h t t p e l s ei f w i n d o w x m l h t t p r e q u e s t x m t h t t p n e wx m l h t t p r e q u e s t o 1 0 桂林工学院硕士学位论文 首先 声明一个全局变量x m l h t t p 用来保存即将创建的x m l h t t p r e q u e s t 对象的引用 然后 在c r e a t e x m l h t t p r e q u e s t 0 方法中完成具体创建工作 因为i e 与其他浏览器对 x m l h t t p r e q u e s t 对象的实现方法不同 因此在创建时 通过一个分支语句进行判断 如果 w i n d o w a c t i v e x o b j e c t 调用返回t r u e 则证明为i e 浏览器 那么就通过传递 m i c r o s o f t x m i n t t p 给h c t i v e x o b j e c t0 来创建x m l h t t p r e q u e s t 对象 否则就把 x m l h t t p r e q u e s t 实现为本地 a v a s c r i p t 对象 由于j a v a s c r i p t 具有动态特性 而且x m l h t t p r e q u e s t 对象在不同浏览器上的实现是兼 容的 所以可以用同样的方法访问x m l h t t p r e q u e s t 的方法和属性 x m l h t t p r e q u e s t 对象具 有很多适用的方法 下面是标准x m l h t t p r e q u e s t 的方法列表 查 堑垄丕坚 望垒 塑g 些 丝查鲞 方法说明 a b o r t o g e t a b r e s p o n s e h e a d e r o g e t r e s p o n s e h e a d e r h e a d e r o p e n m e t l l o d u r n s e n d c o n t e n t s e t r e q u e s t f l e a d e r h e a d e r v a l u e 1 停止当前请求 把h t t p 请求的所有响应头部作为键 值对返回 返回指定首部的串值 建立对服务器的调用 向服务器发送请求 把指定首部设置为所提供的值 o p e n s t r i n gm e t h o d s t r i n gu r l b o o l e a na s y n c h s t r i n g u s e r n a m e s t r i n g p a s s w o r d 前两个参数m e t h o d 和u r l 是必须的 m e t h o d 参数可以是g e t h e a d p o s t p u t 等 常用s e t 或s e n d 方法 可以使用g e t 从服务器获取数据 避免使用g e t 调用改变 服务器上的状态 u r l 参数可以是相对的u r l 也可以是绝对的u r l a s y n c h 指示是否对服务 器异步调用 u s e r n a m e 和p a s s w o r d 分别是用户名和密码 一般地 当请求需要改变服务器上的状态时 应当用p o s t 方法 它不同于g e t 它需 要设置x m l h t t p r e q u
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年管理学:人力资源管理师能力考核试题(附含答案)
- 摄影艺术与技法课件
- 摄影基本知识培训心得
- 软件技术基础试题及答案
- 2025终止合同通知书
- 2025企业汽车租赁合同范本
- 2025年农业用地流转合同签订方式
- 搭配的学问课件
- 2025年9月版用工合同(合作协议书)范本(可规避风险)
- 澳门入籍面试题研究报告:不同行业背景下的职业素养考察
- 实验室人员培训
- 公司反恐防暴管理制度
- 《宜宾陈酿草本白酒》标准编制说明
- 政治●广西卷丨2024年广西普通高中学业水平选择性考试高考政治真题试卷及答案
- 合肥民政局离婚协议书
- ISO27001:2022信息安全管理手册+全套程序文件+表单
- 钳工理论考试试题及答案
- 2025年中考英语高频词汇分类记忆《背诵版+默写版》
- 铝业公司日常管理制度
- 血透患者护理常规
- 跨境运营日常管理制度
评论
0/150
提交评论