收藏 分享(赏)

基于AJAX的B_S架构及应用.pdf

上传人:精品资料 文档编号:10843798 上传时间:2020-01-14 格式:PDF 页数:5 大小:452.42KB
下载 相关 举报
基于AJAX的B_S架构及应用.pdf_第1页
第1页 / 共5页
基于AJAX的B_S架构及应用.pdf_第2页
第2页 / 共5页
基于AJAX的B_S架构及应用.pdf_第3页
第3页 / 共5页
基于AJAX的B_S架构及应用.pdf_第4页
第4页 / 共5页
基于AJAX的B_S架构及应用.pdf_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、第 25卷 第 3期 吉 林 大 学 学 报 (信 息 科 学 版 ) Vol. 25 No. 32007年 5月 Journal of J ilin University ( Information Science Edition) May 2007文 章 编 号 : 167125896 (2007) 0320314205基 于 AJAX的 B /S架 构 及 应 用收 稿 日 期 : 2006211202项 目 基 金 : 国 家 自 然 科 学 基 金 资 助 项 目 (60175024, 60433020)作 者 简 介 : 吴 学 义 (1982 ) , 男 , 黑 龙 江 双 鸭

2、山 人 , 吉 林 大 学 硕 士 研 究 生 , 主 要 从 事 W eb应 用 架 构 研 究 , ( Tel) 13504320645( E2mail) wuxueyi1631com; 通 讯 作 者 : 黄 永 平 (1964 ) , 男 (朝 鲜 族 ) , 沈 阳 人 , 吉 林 大 学 副 教 授 , 硕 士 生 导 师 ,主 要 从 事 嵌 入 式 系 统 、 通 信 、 计 算 机 实 时 测 控 系 统 、 无 线 传 感 器 网 络 、 Java技 术 研 究 , ( Tel) 13844051511 ( E2mail) hyp jlu1edu1cn。吴 学 义 , 黄

3、永 平 , 郭 娜 , 徐 昊(吉 林 大 学 计 算 机 科 学 与 技 术 学 院 , 长 春 130012)摘 要 : 为 了 提 高 B /S (B rowser/Server) 应 用 的 访 问 效 率 , 提 出 了 一 种 基 于 AJAX (A synchronous Javascrip t andExtensible Markup Language) 技 术 的 B /S架 构 模 式 , 并 且 通 过 实 例 说 明 了 该 架 构 模 式 的 应 用 。 该 架 构 模 式 采 用了 DWR (D irectW eb Remoting) , Sp ring和 H ib

4、ernate框 架 , 不 但 提 高 了 访 问 效 率 , 而 且 优 化 了 B /S架 构 模 式 的内 部 结 构 , 提 高 了 可 维 护 性 。 测 试 结 果 表 明 , 与 传 统 B /S架 构 应 用 相 比 , 使 用 基 于 AJAX的 架 构 应 用 , 访 问时 间 可 以 缩 短 约 30%以 上 。关 键 词 : 异 步 Javascrip t和 可 扩 展 标 识 语 言 技 术 ; 浏 览 器 /服 务 器 架 构 ; 访 问 效 率 。中 图 分 类 号 : TP311152 文 献 标 识 码 : AAJAX2Based B /S A rchitec

5、ture and App licationWU Xue2yi, HUANG Yong2p ing, GUO Na, XU Hao(College of Computer Science and Technology, Jilin University, Changchun 130012, China)Abstract: In order to imp rove accessing efficency of B /S (B rowser/Server) app lication, the paper introduces anew B /S architecture model based on

6、 AJAX (A synchronous Javascrip t and Extensible Markup Language) and il2lustrates its app lication. App lying DWR (D irectW eb Remoting) , Sp ring and H ibernate, the architecture mod2el imp roves accessing efficency, and op tim izes inner structure of B /S architecture model and imp roves its main2

7、tainability. The test results indicate that the new model can shorten accessing time by over 30% compared withthe trational ones.Key words: asynchronous javascrip t and extensible markup janguage (AJAX ) technology; browser/ server(B /S) architecture; accessing efficency前 言在 当 今 的 B /S (B rowser/Ser

8、ver) 开 发 标 准 中 , 给 出 了 两 种 使 用 JSP (Java Server Pages) 的 方 式 , 分别 称 为 模 式 1和 模 式 2。 在 模 式 1中 , JSP页 面 独 自 响 应 请 求 , 并 将 处 理 结 果 返 回 客 户 。 所 有 的 数 据 通过 Bean处 理 , JSP实 现 页 面 的 表 现 。 在 模 式 2中 , 结 合 了 JSP和 Servlet技 术 , 充 分 利 用 了 JSP和 Servlet两 种 技 术 的 优 点 , 遵 循 MVC (Model V iew Controller) 模 式 , 明 显 地 把

9、显 示 和 逻 辑 分 离 1, 2 。 但 模 式 1和模 式 2都 没 有 解 决 B /S应 用 的 访 问 效 率 低 的 问 题 。 AJAX技 术 的 出 现 解 决 了 这 个 问 题 。AJAX是 结 合 了 Java、 XML ( Extensible Markup Language) 以 及 Javascrip t等 编 程 技 术 , 使 开 发 人 员构 建 基 于 Java技 术 的 W eb应 用 , 并 打 破 了 使 用 页 面 重 载 的 惯 例 3 。 AJAX是 使 用 客 户 端 脚 本 与 W eb服务 器 交 换 数 据 的 W eb应 用 开 发

10、方 法 , 使 用 AJAX的 异 步 模 式 , 浏 览 器 不 必 等 用 户 请 求 操 作 , 也 不 必 更新 整 个 窗 口 便 可 显 示 新 获 取 的 数 据 。 只 要 来 回 传 送 采 用 XML格 式 的 数 据 , 在 浏 览 器 中 运 行 的 Javascrip t代 码 就 可 以 与 服 务 器 进 行 联 系 。 这 样 , 用 户 可 以 创 建 接 近 本 地 桌 面 应 用 得 更 直 接 、 更 丰 富 、 更 动 态 的W eb用 户 界 面 , 比 传 统 的 W eb应 用 程 序 更 方 便 , 不 需 要 重 载 整 个 页 面 能 完

11、成 用 户 与 W eb的 交 互 4 。笔 者 研 究 了 一 种 基 于 AJAX技 术 的 B /S架 构 模 式 , 并 通 过 实 现 聊 天 室 系 统 说 明 了 这 种 架 构 模 式 的 应用 。 这 种 架 构 模 式 应 用 了 DWR (D irectW eb Remoting) , Sp ring和 H ibernate框 架 , 不 但 减 少 了 不 必 要 的网 络 数 据 传 输 , 加 快 了 浏 览 器 页 面 的 显 示 速 度 , 提 高 了 B /S应 用 的 访 问 效 率 , 而 且 优 化 了 B /S架 构 模式 的 内 部 结 构 , 减

12、少 了 JSP文 件 的 数 量 , 提 高 了 软 件 的 可 维 护 性 。1 AJAX技 术AJAX是 几 种 技 术 的 结 合 , 每 种 技 术 都 有 其 独 特 之 处 , 合 在 一 起 就 成 了 一 个 功 能 强 大 的 新 技 术 。AJAX是 使 用 客 户 端 脚 本 与 W eb服 务 器 交 换 数 据 的 W eb应 用 开 发 方 法 。 这 样 , W eb页 面 不 用 打 断 交 互流 程 进 行 重 新 加 载 , 就 可 以 动 态 地 更 新 5 。 不 再 像 传 统 的 W eb应 用 程 序 那 样 , 需 要 重 载 整 个 页 面 才

13、 能完 成 用 户 与 W eb的 交 互 。 只 要 来 回 传 送 XML格 式 的 数 据 , 在 浏 览 器 里 面 运 行 的 Javascrip t代 码 就 可 以 与服 务 器 进 行 联 系 6 。 W eb应 用 模 式 与 AJAX模 式 的 对 比 如 图 1所 示 。图 1 传 统 W eb应 用 模 式 与 AJAX模 式 的 对 比Fig11 The traditional model forW eb app lications compared to the AJAX model2 DWR + Spring + Hibernate架 构 模 式 原 理DWR +

14、 Sp ring + H ibernate架 构 模 式 继 承 了 MVC模 式 的 优 点 , 应 用 当 今 流 行 的 3种 优 秀 框 架 , 不 但提 高 了 浏 览 器 访 问 效 率 , 而 且 进 一 步 优 化 了 B /S架 构 模 式 的 内 部 结 构 , 提 高 了 软 件 的 可 维 护 性 。 DWR项 目 是 在 Apache许 可 下 的 一 个 开 源 的 解 决 方 案 7 , 它 提 供 了 一 种 简 单 的 方 式 使 用 AJAX和 XMLH ttpRe2quest。 DWR具 有 一 套 Javascrip t功 能 集 , 简 化 了 从 H

15、TML (Hyper Text Markup Language) 页 面 调 用 应 用服 务 器 上 Java对 象 的 方 法 。Sp ring是 个 优 秀 的 开 源 框 架 , 其 主 要 优 势 之 一 就 是 分 层 架 构 , 分 层 架 构 允 许 对 组 件 的 选 择 , 同 时 为J2EE应 用 程 序 开 发 提 供 集 成 的 框 架 8 。 H ibernate是 个 开 放 源 代 码 的 O /R (Object/Relation) Mapp ing,它 对 JDBC (Java Database Connectivity) 进 行 了 轻 量 级 的 对 象

16、 封 装 , 使 Java程 序 员 可 以 使 用 对 象 编 程 思维 操 纵 数 据 库 9 。此 架 构 模 式 将 W eb应 用 分 为 4层 (见 图 2) :1) JSP作 为 视 图 层 , 实 现 与 用 户 的 交 互 ;2) DWR + Sp ring作 为 控 制 器 , 实 现 请 求 处 理 转 发 功 能 , 其 中 DWR负 责 处 理 功 能 调 用 的 请 求 , 而Sp ring控 制 器 负 责 处 理 页 面 重 定 向 的 请 求 ;513第 3期 吴 学 义 ,等 :基 于 AJAX的 B /S架 构 及 应 用图 2 DWR + Sp ring

17、 + H ibernate架 构 模 式 结 构Fig12 DWR + Sp ring + H ibernatearchitecture model structural diagram3) Sp ring服 务 层 实 现 业 务 逻 辑 处 理 功 能 ;4) H ibernate负 责 数 据 持 久 层 的 管 理 。此 架 构 模 式 的 特 点 在 于 应 用 DWR和 Sp ring联 合 实 现 控制 器 功 能 。 通 过 XML配 置 文 件 在 JSP文 件 中 将 DWR对 象 映射 成 Javascrip t对 象 , DWR对 象 提 供 功 能 接 口 , 可 以

18、 通 过Javascrip t对 象 调 用 DWR对 象 , DWR对 象 调 用 底 层 业 务 逻辑 对 象 , 业 务 逻 辑 对 象 执 行 功 能 后 , 将 数 据 返 回 给 DWR对象 , DWR对 象 再 将 数 据 返 回 给 页 面 。 这 样 , 页 面 不 用 刷 新 ,就 可 以 直 接 加 载 新 数 据 。 重 定 向 页 面 的 请 求 和 不 适 合 异 步 处理 的 请 求 则 发 给 Sp ring控 制 器 处 理 。Sp ring服 务 层 定 义 了 功 能 模 块 , 主 要 实 现 业 务 逻 辑 功能 。 它 向 下 直 接 与 H ibe

19、rnate数 据 持 久 层 交 互 , 向 上 提 供 了功 能 接 口 , 可 以 由 控 制 器 直 接 调 用 , 并 返 回 最 终 的 处 理 结果 。H ibernate负 责 底 层 数 据 的 管 理 , 直 接 与 数 据 库 交 互 , 将 数 据 库 中 的 数 据 表 与 Java对 象 进 行 映 射 。这 样 Sp ring服 务 层 就 可 以 通 过 操 作 Java对 象 对 底 层 数 据 进 行 管 理 。3 DWR + Spring + Hibernate架 构 模 式 应 用 实 例笔 者 通 过 一 个 聊 天 室 的 例 子 简 要 介 绍 这

20、种 架 构 模 式 的 应 用 , 只 对 聊 天 信 息 的 读 取 和 显 示 功 能 进 行 说明 。本 例 使 用 的 W eb服 务 器 是 Tomcat。 首 先 , 简 要 介 绍 开 发 环 境 的 配 置 , 分 为 以 下 几 步 。1) 在 web1xm l中 配 置 Sp ring框 架 , 在 此 不 进 行 额 外 说 明 。2) 在 web1xm l 中 配 置 一 个 名 字 为 dwr2invoker 的 servlet, 其 class 是 org1directwebremo2ting1servlet1DwrServlet, 它 映 射 的 url2patt

21、ern是 /dwr/3 。3) 在 /W EB2INF目 录 下 创 建 app licationContext1xm l文 件 , 并 配 置 以 下 两 个 JavaBean: 一 个 是 Chat2Service, id为 chatService; 另 一 个 是 ChatDwr, id为 chatDwr, 其 中 chatDwr中 要 引 用 chatService作 为 属性 。4) 在 /W EB2INF目 录 下 创 建 dwr1xm l文 件 , 并 添 加 如 下 代 码 : create creator = “ sp ring“ javascrip t = “ ChatJ

22、s“ ! - -在 Javascrip t中 映 射 为 ChatJ s - - param name = “ beanName“ value = “ chatDwr“ / ! 引 用 chatDwr - - include method = “ getMessage“ / ! - - Javascrip t中 可 以 调 用 的 方 法 - - /create下 面 开 始 编 写 程 序 代 码 , 需 要 创 建 以 下 文 件 (见 图 3)。图 3 类 图Fig13 Class diagram1) chat1jsp文 件 : 用 于 页 面 信 息 的显 示 。2) ChatDwr1

23、java 文 件 : 提 供 功 能接 口 , 调 用 底 层 服 务 。3) ChatService1java文 件 : 实 现 业务 逻 辑 。4) Message1java 文 件 : 实 现 O /R映 射 , 通 过 H ibernate映 射 为 数 据 库 存储 聊 天 信 息 的 表 。首 先 , 在 chat1jsp中 要 添 加 对“ /your context/dwr/ interface /ChatJ s1js”613 吉 林 大 学 学 报 (信 息 科 学 版 ) 第 25卷和 “ /your context/dwr/engine1js” 的 引 用 。 在 dwr

24、1xm l中 , 已 经 建 立 了 Javascrip t对 象 ChatJ s与 DWR对象 ChatDwr的 映 射 关 系 。 所 以 , 在 Javascrip t中 可 以 通 过 调 用 ChatJ s对 DWR对 象 ChatDwr进 行 操 作 。然 后 , 在 Chat1jsp 中 , 通 过 调 用 ChatJ s1getMessage ( ) 方 法 , 得 到 新 的 聊 天 信 息 , 其 中getMessage ( )方 法 最 后 一 个 参 数 是 此 方 法 执 行 完 毕 后 系 统 自 动 调 用 的 Javascrip t方 法 , 将 它 命 名 为

25、handleGetMessage。 所 以 , 要 在 chat1jsp 中 声 明 handleGetMessage方 法 , 该 方 法 的 参 数 为 DWR 返 回 的Javascrip t对 象 , 它 包 含 了 ChatDwr返 回 的 聊 天 信 息 。最 后 , 在 handleGetMessage方 法 中 , 对 返 回 的 聊 天 信 息 进 行 处 理 , 其 中 包 括 对 信 息 的 提 取 , 加 工 ,以 及 显 示 。 整 个 流 程 的 序 列 图 如 图 4所 示 。至 此 , 就 可 以 将 聊 天 室 信 息 显 示 在 浏 览 器 中 。 整 个

26、过 程 并 没 有 对 JSP页 面 进 行 刷 新 , 只 是 通 过DWR提 取 数 据 , 然 后 对 数 据 进 行 处 理 , 完 成 了 异 步 交 互 过 程 。图 4 聊 天 室 获 取 信 息 序 列 图Fig14 Chat room getting messages sequence diagram图 5 传 统 W eb模 式 与 AJAX W eb模 式 显 示 信 息 时 间 的 对 比Fig15 Time comparision of showing messages betweentraditionalW eb model and AJAX W eb model4

27、 测 试 及 结 果针 对 此 聊 天 室 系 统 , 笔 者 分 别 对使 用 Sp ring + H ibernate的 传 统 B /S架构 模 式 和 使 用 DWR + Sp ring + H ibernate架 构 模 式 的 显 示 信 息 时 间 进 行 了 测 试 ,测 试 数 据 是 对 相 同 数 据 量 访 问 时 间 测量 10次 取 平 均 值 得 出 。 测 试 结 果 如 图5所 示 。 由 测 试 数 据 可 以 看 出 , 与 传 统B /S架 构 模 式 相 比 , 使 用 DWR + Sp ring+ H ibernate架 构 模 式 访 问 相 同

28、的 数 据量 , 访 问 时 间 可 以 缩 短 约 30%以 上 。5 结 语笔 者 提 出 了 基 于 AJAX的 DWR +Sp ring + H ibernate的 架 构 模 式 , 并 通 过实 例 应 用 说 明 了 这 种 架 构 模 式 的 应 用 。713第 3期 吴 学 义 ,等 :基 于 AJAX的 B /S架 构 及 应 用此 架 构 模 式 , 不 但 提 高 了 B /S应 用 的 访 问 效 率 , 而 且 从 结 构 上 进 一 步 优 化 了 B /S应 用 的 架 构 10 13 , 提高 了 软 件 的 可 维 护 性 。 此 模 式 利 用 异 步 交

29、 互 实 现 页 面 无 刷 新 , 使 W eb服 务 器 在 每 次 接 到 用 户 请 求 时 只向 浏 览 器 发 送 用 户 需 要 的 数 据 , 无 需 再 将 整 个 页 面 的 数 据 发 送 给 浏 览 器 。 这 样 从 两 个 方 面 改 善 了 B /S应 用 : 1) 减 少 了 不 必 要 的 网 络 数 据 传 输 , 加 快 了 页 面 的 显 示 速 度 ; 2) 无 刷 新 的 浏 览 界 面 会 给 用 户 带来 良 好 的 视 觉 感 受 。 此 模 式 使 用 DWR和 Sp ring联 合 作 为 控 制 器 , 使 MVC模 式 中 的 控 制

30、器 变 得 简 单 而清 晰 。 由 于 避 免 了 不 必 要 的 页 面 转 向 , 减 少 了 JSP文 件 的 数 量 , 从 而 提 高 了 软 件 的 可 维 护 性 。参 考 文 献 : 1 孙 卫 琴 . 精 通 Struts: 基 于 MVC的 Java W eb设 计 与 开 发 M . 北 京 : 电 子 工 业 出 版 社 , 2005.SUN W ei2qin. Master Struts: MVC2Based Java W eb Design and Development M . Beijing: Publishing House of ElectronicsIn

31、dustry, 2005. 2 孙 卫 琴 . Tomcat与 Java W eb开 发 技 术 详 解 M . 北 京 : 电 子 工 业 出 版 社 , 2004.SUN W ei2qin. Tomcat and Java W eb Development Technology Exp lained in Detail M . Beijing: Publishing House of Elec2tronics Industry, 2004. 3 王 沛 , 冯 曼 菲 . 征 服 A jax W eb 210开 发 技 术 详 解 M . 北 京 : 人 民 邮 电 出 版 社 , 200

32、6.WANG Pei, FENG Man2fei. Overcome A jax W eb 210 Development Technology Exp lained in Detail M . Beijing: Posts& Telecom Press, 2006. 4 GREY, MURRAY. Aysynchronous Javascrip t Technology and XML (A jax) with Java 2 Platform, Enterp rise Edition EB /OL . 2005206209 . http: / / java. sun. com /develo

33、per/ technicalA rticles/J2EE /A jax. 5 JESSE JAMES GARRETT. A jax: A New App roach to W eb App lications EB /OL . 2005202218 . http: / /www. adap2tivepath. com /publications/essays/archives/000385. php. 6 PH IL IP MCCARTHY. A jax for Java Developers: Build Dynam ic Java App lications EB /OL . 200520

34、9220 . http: / /www2128. ibm. com /developerworks/ java / library/ j2ajax1 /. 7 CLOVES CARNE IRO JR. A jax Made Simp le with DWR EB /OL . 2005206220 . http: / /www. javaworld. com / java2world / jw20622005 / jw206202dwr. htm l. 8 罗 时 飞 . 精 通 Sp ring M . 北 京 : 电 子 工 业 出 版 社 , 2005.LUO Shi2fei. Master

35、 Sp ring M . Beijing: Publishing House of Electronics Industry, 2005. 9 孙 卫 琴 . 精 通 H ibernate: Java对 象 持 久 化 技 术 详 解 M . 北 京 : 电 子 工 业 出 版 社 , 2005.SUN W ei2qin. Master H ibernate: Java Object Persistence Technology Exp lained in Detail M . Beijing: Publishing House ofElectronics Industry, 2005. 10

36、 李 兵 , 刘 淑 芬 . 海 量 数 据 下 的 W eb分 页 呈 现 研 究 J . 吉 林 大 学 学 报 : 信 息 科 学 版 , 2005, 23 (5) : 5172521.L IB ing, L IU Shu2fen. Research ofW ebs Pagination D isp lay in Condition ofMass Data J . Journal of J ilin University: In2formation Science Edition, 2005, 23 (5) : 5172521. 11 刘 松 , 付 晓 江 . 面 向 服 务 的 企

37、业 应 用 集 成 架 构 J . 吉 林 大 学 学 报 : 信 息 科 学 版 , 2005, 23 (6) : 6592662.L IU Song, FU Xiao2jiang. Imp lementation on SOA2Based Enterp rise App lication Integration J . Journal of J ilin University:Information Science Edition, 2005, 23 (6) : 6592662. 12 王 学 成 , 张 长 海 . 基 于 XML信 息 系 统 开 发 平 台 的 设 计 与 实 现 J

38、 . 吉 林 大 学 学 报 : 信 息 科 学 版 , 2005, 23 ( 5) :5412546.WANG Xue2cheng, ZHANG Chang2hai. Designing and Realiztion of Information System Development Platform Based on XML J . Journal of J ilin University: Information Science Edition, 2005, 23 (5) : 5412546. 13 赵 村 民 , 宋 利 好 , 赵 晓 民 . 基 于 W EB GIS的 网 上 地 图 发 布 系 统 J . 吉 林 大 学 学 报 : 信 息 科 学 版 , 2004, 22 ( 5) :5042508.ZHAO Cun2m in, SONG L i2hao, ZHAO Xiao2m in. W EB GIS2Based Mapp ing W eb D istribution System J . Journal of J ilinUniversity: Information Science Edition, 2004, 22 (5) : 5042508. ( Ed. : H)813 吉 林 大 学 学 报 (信 息 科 学 版 ) 第 25卷

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报