(计算机应用技术专业论文)基于struts的现代远程教学答疑子系统及信息检索的研究.pdf_第1页
(计算机应用技术专业论文)基于struts的现代远程教学答疑子系统及信息检索的研究.pdf_第2页
(计算机应用技术专业论文)基于struts的现代远程教学答疑子系统及信息检索的研究.pdf_第3页
(计算机应用技术专业论文)基于struts的现代远程教学答疑子系统及信息检索的研究.pdf_第4页
(计算机应用技术专业论文)基于struts的现代远程教学答疑子系统及信息检索的研究.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(计算机应用技术专业论文)基于struts的现代远程教学答疑子系统及信息检索的研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于s t r u t s 的现代远程教学答疑子系统及信息检索的研究 摘要 随着现代远程教育技术的发展,传统教学模式向外无限延伸,教学已超出 时间和空间的限制,现代远程教学便应运而生,并且成为教育教学不可缺少的 手段。 答疑、解惑不仅是传统教学活动的一部分,而且也是现代远程教学的重要 环节。在网上学习中,因为教师和学生地理位雹上的分离,学习者的学习从教 师讲解为主变为自己自主学习为主。所以当学生有疑难问题时,网上教学系统必 须能够及时消除学生的学习障碍,保持并提高学生的学习热情和学习积极性。 可见,答疑子系统的研发是现代远程教学的重要环节,对实现高质量的网上教 学具有深远意义。 作者以基于s t r u t s 的现代远程教学答疑子系统各功能模块的实现为主线 展开论述。 首先配置答疑子系统开发环境。答疑子系统采用w i n d o w s2 0 0 0s e r v e r 平 台,使用j 2 e e 技术和s t r u t s 框架,采用w e b l o g i cs e r v e r8 1 作为中间服务 器,s q ls e r v e r2 0 0 0 作为后台数据库。 然后介绍了各课程的异步答疑和实时答疑的实现。 采用反向索引算法实现了异步答疑搜索子系统。 在智能答疑模块中,采用基于奇异值分解和欧氏距离的信息检索算法。降 低了信息检索时间复杂度和空间复杂度。 关键词:s t r u t s ,异步答疑,实时答疑,信息检索,奇异值分解,欧氏距离 t h e a n s w e r i n gs u b s y s t e m o ft h em o d e r nr e m o t et e a c h i n g b a s e do ns t r u t sa n dr e s e a r c ho fi n f o r m a t i o ns e a r c h e s a b s t r a c t t h ed e v e l o p m e n to ft h et e c h n o l o g yo fm o d e mr e m o t et e a c h i n gm a k e st h e e x t e n d e n c eo ft r a d i t i o n a l , t e a c h i n gm o d e ,a n dm o d e mr e m o t et e a c h i n gb e c o m e sa n i m p o r t a n tm e t h o di nt e a c h i n g a n s w e i n gi sn o to n l y an e c e s s a r yp a r ti nt r a d i t i o n a lt e a c h i n g b u ta l s oa l l i m p o r t a n tm o d d ei nm o d e m r e m o t et e a c h i n gs y s t e m t h es t u d e n t sw h o s t u d y0 nl i n e b e c o m et h i n k e r sf o r ml i s t e n e r sd u et oa p a r t i n gf r o mt e a c h e r s b n tw h e nt h e yc c r m o t u n d e r s t a n dt h ep r o b l e m ss t i l l ,t h ea n s w e r i n ga n dh e l pi nt i m ea r en e c e s s a r y s o m o d e mr e m o t et e a c h i n gs y s t e mm u s ta n s w e rt h es t u d e n t sp r o b l e m so nt i m e ,r e m o v e t h et r e b l ei ns t u d e n t s s t u d ya n dk e e p ,i m p r o v et h e i re n t h u s i a s ma n da c t i v i t y s ot h e d e v e l o p m e n ta n dr e s e a r c ho fa n s w e r i n gs u b s y s t e mi s a l l i m p o r t a n tp a r ti nt h e m o d e r nr e m o t et e a c h i n g i ti sm e a n i n g f u lt or e a l i z et e a c h i n go nl i n eo f h i g hq u a l i t y 砧ea u t h o rd e s c r i b e st h ea r t i c l eo i lt h et h r e a do fr e a l i z a t i o no fa l lf u n c t i o n m o d u l e si na n s w i n gs u b s y s t e mb a s i cs t r u s t f i r s to fa l l ,i ti sn e c e s s a r yt oc o n f i g u r et h ed e v e l o p m e n te n v i r o n m e n to f a n s w e r i n gs u b s y s t e ma sf o l l o w i n g :w i n d o w s2 0 0 0s e r v e ro p e r a t i o ns y s t e m ,j 2 e e , s t r u t s ,w 曲l o g i cs e w e ra n ds q l s e r v e r2 0 0 0d a t a b 8 s e s e c o n d l y , a s y n c h m n o i l sa n s w e r i n ga n da n s w e r i n gi nt i m eo fl e s s o n sa r er e a l i z e d i nt h em o d l l l eo ft h ea n s w e r i n gf o r u mm o d u l e ,w h e ns e a r c h i n ga r t i c l e so n k e y s t h ea r i t h m e t i co fl e v e r s a li n d e x i n gi sa d o p t e d i nt h em o d u l eo ft h ei n t e l l i g e n ta n s w e r i n gf o r u m ,t h ea r i t h i n e t i co ft h e i n f o r m a t i o nr e t r i e v a lm e t h o db a s e do ns i n g u l a rv a l u ed e c o m p o s i t i o ni su s e d w h i c h d e c r e a s et h ee x p e n s eo f f i m ea n dd e m e s n e k e yw o r d s :s t r u t s ,a s y n c h r o n o u sa n s w e r i n g ,a n s w e r i n gi nt i m e , i n f o r m a t i o nr e t r i e v a l ;s i n g u l a r v a l u ed e c o m p o s i t i o n ;e u c l i d e a nd i s t a n c e 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得 的研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发 表或撰写过的研究成果,也不包含为获得丞洼王些盍堂或其他教育机构的学 位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均己 在论文中作了明确的说明并表示了谢意。 涨一繇南私 签字同期:矽佴,月矽同 学位论文版权使用授权书 本学位沦文作者完全了解丞洼王些盔堂有关保留、使用学位论文的规 定。特授权丞洼王、业盍堂可以将学位论文的全部或部分内容编入有关数据库 进行检索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。 同意学校向困家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权浇明) 学位论文作者签名 南孵 导师签名 签字同期:妒巧年f 月f 7 几 签字只期:翟彩年,月仍 玩 学位论文的主要创新点 目前异步答疑的实现基本上采用p h p 或a s p 实现。本异步答疑 系统采用s t r u t s 框架和j 2 e e 技术实现,在结构上实行了改进。 二、在异步答疑搜索子系统中按给定关键字搜索课程文章时,采用 反向索引算法。即在数据库表中增加索引字段k e y w o r d ,该字段存放 全部能代表该记录的关键字集合。当用户输入搜索内容后,把表中 的索引字段关键字一一和用户要搜索的内容比较,如果索引字段关 键字是搜索内容的子串,说明该记录是要搜索的内容。 三、在智能答疑模块中,由于用传统的s a l t o n 向量空问模型算法进 行信息检索时搜索时间慢、空间占用量大,所以在此基础上进行r 改进,提出了一种基于奇异值分解和欧氏距离的信息检索算法。用 m a t l a b 实验证明在保证查全率和查准率的前提下,实现了信息检索 时间复杂度和空间复杂度的降低。 第一章绪论 第一章绪论 随着现代远程教育技术的发展,传统教学模式向外无限延伸,现代远程教 学便应运用而生,使学生的个性化学习得到了更充分的体现,提高了教与学的 效率。但目前实际开发使用的网上学习软件存在着不足。本文在研究、总结现 阶段远程答疑系统的特点和缺陷基础上对进一步完善该系统提出了观点和方 法。 1 1 课题研究的背景 现代远程教育主要是指基于计算机技术和网络应用,建立在包括数字技术、 网络通信技术、多媒体技术、计算机技术等组成的现代信息技术平台之上的一 种教学模式。它具有时空灵活性、内容丰富性、教学形式新颖性、对象广泛性、 传播快捷性以及开放性、自主性、共享性等特点。现代远程教育系统的优点: ( 1 ) 开放性 即教育资源开放,教育方式开放,教育场所和时间开放。这种开放性使学 习者自主、灵活学习成为可能。 ( 2 ) 灵活性 灵活性主要是说可以满足学习者学习个性化的要求,受教育者可以根据自 身需要、自身条件去自主选择学习方式和学习内容,提高学习效率:从以教为 主的教学模式转变为以学为主的个性化教育。广大受教育者不受传统的填鸭式 教学模式的限制,不受时间和空问等条件的约束,学习时间,地点、内容根据 自己的情况自主选择。 ( 3 ) 教学资源共享性 现代远程教育可实现教育资源和教育方法的共享,教学资源得以充分的利 用和优化。 答疑、解惑不仅是传统教育的一个环节,而且也是现代远程教学系统的一 项重要模块,但通过对目前现代远程教学答疑系统进行研究,发现存在着一系 列问题: ( 1 ) 在传统课堂教学模式中,答疑是通过师生面对面方式实现的,但在现 代远程教育中由于师生地理的分离这种方式已经不再可行。所以如何使课堂上 的笞疑活动在网络教学系统中得以实现成为一个问题。 ( 2 ) 在现行的现代远程教学中,比较重视课程内容的存储,而不注意答疑 第一章绪论 解惑这一部分。即远程网站往往存放大量教材内容的超文本链接,而回答问题 的功能很少。而实际上绝大多数人希望能及时处理学习中遇到的各种难点和问 题, 以保证学习的热情和持续性。 ( 3 ) 在现行的答疑系统中,老师和学生、学生和学生间的交流通过em a i l 或留言板进行,缺乏实时性。 ( 4 ) 在现行的答疑系统中,往往会有很多学生提出相同或相似的问题,教 师对同一问题重复回答,信息的可重用性率低。 ( 5 ) 在现行的答疑系统中,讨论内容作为宝贵的教学经验资料,无法进行 有效地存储管理。 ( 6 ) 系统在方便用户方面做得不够。以a n s w e r w e b 系统为例,用户提问 时要自己提取提问中的关键字,并且还要进行关键词的与或的逻辑组合。这不 仅要求用户具有一定的抽取关键词的能力,而且还要懂得一定的逻辑关系组合。 这无疑给对计算机不很熟悉的用户提出了问题,造成了困难,使用户用起来很 不方便。 ( 7 ) 答疑手段单一。上述的各种答疑系统,有的使用讨论,有的使用搜索 匹配的方式来解答疑问,而没有将二者很好的结合起来。而实际上,这两种方 式对于很好的解答用户的疑问都具有不可缺少的作用。另外用户提问或者参加 讨论的方式基本上以同步的w w w 浏览方式为主,缺乏实时提问和讨论支持, 这无疑是不全面的。 ( 8 ) 答案库结构设计不良。答案库结构设计不良。答案库中的材料组织并 非结构良好的。换句话说,没有将之转换成结构良好的知识。比如在搜索时, 用户可能以自然语言的形式输入问题关键字,但这样很可能即便库中有问题的 答案也未必搜索得到。 1 2 课题研究的意义 1 2 1 课题的实际意义 答疑、解惑不仅是传统教育活动中的一个环节,而且也是现代远程教学系 统中的一个重要模块。在传统教育中,问题一般是在授课的同时进行的,答疑 往往处于一个次要地位。但现代远程教育并非如此。在网上学习中,由于教师 和学生地理位置的分离,没有了教师面对面的解释和演绎,学习者变为自主学 习。这就要求学习者从一个听众变成一个思索者、索求者,进行深入的思考。 但当到了百思不得其解时,快速及时的答疑和帮助则成了必不可少的内容。这 第一章绪论 就要求网上教学系统能够及时解答学生的疑难问题,消除学生的学习障碍,保 持、提高学生的学习热情和学习积极性。可见,答疑子系统的研发是现代远程 教学的重要环节,对实现高质量的网上教学具有深远的实际意义。 1 2 2 课题的理论意义 通过对目前国内外现代远程教学答疑子系统的研究,总结出存在的问题和 不足,并提出具有改善性的观点和看法,进一步完善现代远程教学的概念和实 现方法。 1 3 国内外应用现状 1 3 1 国外现状 美国是世界上现代远程教育发展最早的国家,可以说是现代远程教育的发 源地,也是目前发展规模最大的国家之一。就采用现代化教育手段来说,美国 也一直处于国际领先地位。大多数美国高等院校目前都提供部分远程学习课程, 其中大多包含在线成分。 英国的开放大学是一种面向全社会、全世界、全方位的开放的大学。开放 大学的教学以网络为基础,采用多媒体教学环境,应用c a 课件。 澳大利亚是世界上最小的陆洲和最大的岛屿,以拥有世界一流的畜牧业而 享有“骑在羊背上的国家”的美誉。但是,近年来澳大利亚人更愿意接受,认 为他们是生活在网络上的国家,因为澳大利亚使用网络的人很多,而最让澳洲 人感到自豪的是,他们拥有世界一流的、建立在网络上的、满足不同教育层次 需求的现代远程教育系统。 1 3 2 国内现状 进入信息时代以来,互联网正在深刻地、迅速地改变着人们的生活和工作, 通过互联网实现现代远程教育活动在全国兴起。虽然网络硬件建设已经初具规 模,然而网络上的软件资源远远不能满足。我国目前正处于教育供需矛盾突出 阶段,教育软件严重不足,教师资源短缺,学习人数逐年快速增长。依靠传统 的教育方式已远远不能满足教育的飞速发展。由此,教育部为了实现党的十五大 确定的目标与任务,落实科教兴国战略,全面推进教育的改革和发展,提高全 民族的素质和创新能力,特定制定了教育软件资源建设工程和2 1 世纪网络 课程建设的要求。其中讲到“开发高质量教育软件,重点建设若干个教育软件 第一章绪论 开发生产基地”。教育部已明确要求高等教育实行信息化,在未来5 年内要求地 方院校实行信息化教育的课程数量不得低于1 5 ,重点院校不得低于3 0 。 在国家的鼓励和支持下,特别是近年来,国家加大了教育的投资力度,国 内很多高校、公司都开始侧重于教育软件的研发。 对于现代远程教育系统中的答疑子系统,根据目前国内具有代表性的网上 教育系统中有关答疑部分的特点,可将之分为以下几类: ( 1 ) 没有专门的答疑部件 该类系统中信息交流方式局限于电子邮件直接联系,或利用系统留言板发 布公告信息。 ( 2 ) 具有初步的答疑部件 此类系统的特点是提供了w e bb b s 的讨论方式,并可进行教师主持下的w e b 实时聊天讨论。如清华大学现代远程教育和湖南大学多媒体信息教育学院的现 代远程教育系统都提供了这种方式。 ( 3 ) 动态交互答疑系统 此系统具有一个动态交互的数据库,如清华大学的现代远程教育系统。数 据库以课程进行组织,存放不同课程的答疑信息,包括学生的问题和教师的解 答等。学生提出问题,以课程编号为主关键字,提出自己的问题,这个问题将 被增加到数据库保存起来。学生通过f a q 列表得到自己问题的答案。 ( 4 ) 具备自动答疑功能的答疑部件 此类系统的典型代表是上海交通大学的现代远程教育设计中心设计开发的 a n s w e rw e b 自动答疑系统。a n s w e rw e b 自动答疑系统也是具有一个动态的问 题和答案数据库。所不同的是,用户可以输入关键词,在系统以有的问题和答 案数据库中查找相关的内容,新的提问和答案将被增加到系统库中。如果没有 找到答案,则会自动转发给专家请求帮助解答。 1 4 论文的结构安排 本文紧紧围绕答疑系统的设计和实现为中心。 第二章讲述了开发答疑子系统所需的软件工具、所需的框架结构和后台数 据库设计。 第三章从整体描述了答疑子系统包括的功能模块,以后各章具体阐述每个 模块的实现和其中涉及到的技术难点及解决方法。 第四章介绍登入登出系统的实现,所涉及的技术难点和解决方案。 第五章讲述了异步答疑子系统的实现方法和用到的框架结构。 第一章绪论 第六章介绍了实时答疑子系统的实现方法。主要运用j s p 技术、 a p p l i c a t i o n 变量和刷新来实现多课程、多房间的实时讨论,运用 j s p s m a r t u p l o a d 实现对文件上传、下载的共享功能。 第七章描述了异步答疑搜索子系统。创新地采用反向索引算法,提高了查准 率和查全率。 第八章介绍了智能搜索子系统。通过对传统信息检索算法进行改进,提出 了采用基于奇异值分解和欧氏距离的信息检索算法。用m a t l a b 实验证明在保证 查全率和查准率的前提下,实现了信息检索时间复杂度和空间复杂度的降低。 第二章配置答疑子系统开发环境 第二章配置答疑子系统开发环境 答疑子系统采用w i n d o w s2 0 0 0s e r v e r 平台,使用j 2 e e 技术和s t r u t s 框 架,w e b l o g i cs e r r e r8 1 作为后台应用服务器,s q ls e r v e r2 0 0 0 作为后台数 据库开发得到。具体开发环境由j b u i l d e r2 0 0 5 ( 内含j d k l 4 ) 、s q ls e r v e r2 0 0 0 和s t r u t s 、j s p s m a r t u p l o a d 等组成。 2 1j 2 e e 技术及优点 2 1 1j 2 e e 技术特点及优点 j 2 e e 全称是j a v a2e n t e r p r i s ee d i t i o n 。包括j n d i 、j s p 、s e r v l e t s 、 j d b c 、e j b 、j m s 、r m i 等核心技术。本系统涉及到前四种技术。j 2 e e 作为开发 语言,与p h p 、a s p 相比,其优点是: j 2 e e 架构能够在已有的企业信息系统的基础上开发新的系统,从而可以充 分利用用户的原有投资。这是因为j 2 e e 拥有业界的广泛支持和一些重要的企业 计算领域供应商的参与,而且j 2 e e 平台的产品对软硬件的要求不高,因此原有 的操作系统和硬件也可以继续使用。 j 2 e e 平台是建立在j a v a 语言基础上的。j a v a 是一种纯0 0 ( 面向对象) 语 言,具有丰富的数据类型和强大的功能,能完成几乎任何复杂的功能,因此深 受w e b 开发人员的喜爱。 ( 1 ) j 2 e e 具有很好的平台无关性,支持异构环境 j a v a 是一个跨平台的语言,在任何平台上,只要有j a v a 虚拟机( j a v a v i r t u a lm a c h i n e ,j v m ) ,就能在不同平台上执行同一个j a v a 程序。因此,用 j 2 e e 开发的应用程序可以很方便地部署在不同的硬件和操作系统中。而且程序 的移植也变得更加轻松简单。 ( 2 ) j 2 e e 提供了标准的系统框架和服务 标准化的框架结构是以分布式的多层应用体系为基础的。在系统的任何层 面中可以增加新的功能,而不影响原有的系统。j 2 e e 平台提供了很多系统服务, 而且这些服务只要通过简单的配置就可以获得。 ( 3 ) j 2 e e 可以在很大程度上提高开发效 因为j 2 e e 允许企业应用开发人员把一些通用的、烦琐的服务端任务交给中 间件供应商来完成,而把精力集中在商业逻辑上。而且,j 2 e e 的构架非常适合 团体开发的模式。j 2 e e 标准的结构自然将应用分成表示层、企业逻辑层和数据 第二章答疑子系统的功能模块 层,这样可以使企业中的页面设计人员、业务逻辑开发人员和系统分析员明确 分工、各司其职,从而提高整个团队的开发效率。 2 1 2j b u i i d e r2 0 0 5 开发环境 本答疑系统采用j b u il d e r2 0 0 5 开发环境。j b u iid e r 是b o r l a n d 公司出 品的j a v a 开发工具。做为业界领先的j a v a 集成开发环境,j b u iid e r 可以提 供j a v a 程序的编辑、调试、编译、运行等功能,支持几乎所有的j a v a 技术开 发,提高了程序员的开发效率和软件产品质量。 2 2w e b i o g i cs e r v e r8 1 应用服务器 因为j 2 e e 只是一个技术规范,不是直接可以使用的软件。要想进行j 2 e e 应用程序开发,就必须使用实现了j 2 e e 技术的应用服务器,b e a 公司的 w e b i o g i cs e r v e r 就是个很优秀的应用服务器产品。b e aw e b l o g jc s e r v e r 是完全遵循j 2 e e 规范的应用服务器,为企业构建基于j 2 e e 的应用程 序提供了很好的平台。w e b lo gics e r v e r 支持面向企业级的、多层次的和完 全分布式的w e b 应用。作为开发和使用电子商务应用市场上的领导者和事实上 的工业标准,w e b lo gics e r v e r 得到了业界的广泛认可。、 由于使用了连接池等技术,w e bio g ics e r v e r 能最有效和充分地使用系 统的资源,如客户机和数据库连接等。w e bio gjcs e r v e r 可以在实际应用中 每小时支持数百万个用户的数十万个请求。 答疑子系统采用w e b l o g i cs e r v e t8 1 作为应用服务器。 2 3s o ls e r v e r2 0 0 0 数据库 答疑子系统采用s q ls e r v e r2 0 0 0 作为后台数据库。 2 3 1s o ls r v e r2 0 0 0 的特点和优点 采用s q ls e r v e r2 0 0 0 作为后台数据库是由其特点所决定的: ( 1 ) 与i n t e r n e t 的紧密结合 s q ls e r v e r2 0 0 0 的数据库引擎对x m l 的支持,可扩展、易于使用和安全 的特点,成为建设大型w e b 站点最好的数据存储设备之一。同时,s q ls e r v e r 2 0 0 0 所携带的诸如英语查询、m i c r o s o f t 查询服务等为开发w e b 应用提供了友 第二章答疑子系统的功能模块 好而强大的查询界面。 ( 2 ) 可扩展性和可用性 为兼顾各种配置的计算机的使用,s o ls e r v e r2 0 0 0 的数据库引擎可以运 行在w i n d o w s9 8 的台式机、笔记本电脑、w i n d o w s2 0 0 0 数据中心的多处理器 上。s q ls e r v e r2 0 0 0 企业版具有视图索引和超大规模的内存支持等特征,可 以满足最大规模的w e b 站点的性能需求。 ( 3 ) 企业级数据库 s q ls e r v e r2 0 0 0 关系数据库引擎具备有完善强大的数据处理功能。它在 有效保证数据库一致性的基础上,尽量降低成千上万的数据库用户进行并发访 问时的管理和延迟成本。s o ls e r v e r2 0 0 0 的分布式查询允许用户同时引用多 处数据源,但其友好的界面使用户觉得好象自始至终是在操作一个数据源。 ( 4 ) 简单、友好的操作方式 s q ls e r v e r2 0 0 0 包含一整套管理和开发工具。这些工具都具有很友好的 用户界面,在提供强大功能的同时,易于安装、使用和发布。用户可以把精力 放在自己的业务问题上,可以非常迅速地建立并发布强大而复杂的数据库应用 系统。 2 3 2 答疑子系统数据库 答疑子系统数据库设计如图2 - 1 所示 图2 - 1 答疑子系统中s q ls e r v e r2 0 0 0 数据库 f i g u r e2 - 1s o l s e r v e r2 0 0 0d a t a b a s eu s e di na n s w e r i n gs y s t e m ( 1 ) t i e z i s 表设计如表2 - 1 所示: 表2 - 1t i e z i s 表设计 f o r m2 - 1t i e z i st a b l ed e s i g n i n g 第二章答疑子系统的功能模块 萝0 者i 譬蓦蕾譬嚣警髫嚣。一唾豢 ; | 1 二一譬爱学+j 数据类型;| 宽度 t i e z i i d ( 主键) i n t4 f o r u m i d ( 帖子所属的论坛i d ) i n t4 a n s w e r i d ( 判断是发新帖,还是回复别人的帖子)i n t 4 t i e z i n a m e ( 帖子名称)n v a r c l l a r5 0 t i e z i c o n t e x t ( 帖子内容) 1 5 0 p u b l i s h d a t e ( 发表日期) v a r c n a r3 0 t i e z i w r i t e r ( 帖子作者)n v a r c h a r2 0 c l j c k n u m b e r ( 帖子的点击次数)i n t4 a n s e r n u m b e r ( f 阽子的回复次数)i n t4 a n s w e r u s e r ( 回复用户) n v a r c h a r2 0 a n s w e r d a t e ( 同复时间) 3 0 k e y w o r d ( 索引字段) n v a r c l l a f5 0 ( 注) a n s w e r i d :当取值为0 时表示发新帖,取值不为0 时是回复帖子的 t i e z ii d 。 ( 2 ) u s e r s 表设计表2 2 所示: 表2 - 2u s e r s 表设计 f o r m2 - 2u s e r st a b l ed e s i g n i n g 列窖一 数据类型宽度 u s e r i d ( 主键) i n t 4 u s e r n a m e n v a r c h a t2 0 d a s s w o r ( v a r c n a r2 0 i s o n i n e ( 是否在线)b i tl u s e r p i c ( 用户头像)v a r c n a r5 0 u s e r c l a s s e s ( 用户等级)a r c h a r5 0 ( 注) u s e r c l a s s e s :当取值为“a d m i n i s t e r ”时表示系统管理员,取值为 “b l o c k _ m a s t e r ”时是板主,取值为“c o m m o n _ m e m b e r ”时表示普通会员。 i s o n l i n e :当取值为1 时表示在线,当取值为0 时表示不在线。 ( 3 ) f o r u m s 表设计如表2 - 3 所示: 表2 - 3f o r u m s 表设计 f o r m2 - 3 f o r u m st a b l ed e s i g n i n g 第二章答疑子系统的功能模块 、数据类型、i 宽度 f o r u m i d ( 主键)i n t4 1 0 r u m n a m en v a r c l l a r5 0 b m n a m e ( 板主姓名) 5 0 t i e z i n u m b e r ( i 阽子数量) i n t4 q u e s t i o n n u m b e r ( 主题数量) i n t4 ( 注) t i e z i n u m b e r :表示该课程论坛中所有帖子的个数。q u e s t i o n n u m b e r : 表示该课程论坛中所发新帖的个数。 2 3 3y u a n c h e n g d a yi 库的j d b c 配置 j d b c 是j a v a 程序使用的与数据库通信a p i 。而w e b l o g i cs e r v e r 有关j d b c 的配置主要是指配置连接池( c o n n e c t i o np 0 0 1 ) 和数据源( d a t a s o u r c e ) 。 ( 1 ) y u a n c h e n g d a y i 库连接池的配置 n a m e : y u a n c h e n g d a y i s q l p o o l u r l : j d b c :m i c r o s o f t :s q l s e r v e r :l o c a l h o s t :1 4 3 3 :s e l e c t m e t h o d = c u r s o r :d a t a b a s e n a m e = y u a n c h e n g d a y i d r i v e rc l a s s n a m e : c o m m i c r o s o f t j d b c s q l s e r v e r s q l s e r v e r d r i v e r ( 2 ) y u a n c h e n g d a y i 库数据源的配置 n a m e : y u a n c h e n g d a y i s o u r c e j n d in a m e : y u a n c h e n g d a y i s o u r c e p 0 0 1n a m e : y u a n c h e n g d a y i s q l p o o l 2 4s t r u t s 框架 j s p 和s e r v l e t s 是j 2 e e 进行w e b 开发的两个重要技术,在开发w e b 应用 程序中,有很广泛的应用。但使用s e r v l e t s 生成h t m l 页面传给客户端,其代 码比较麻烦,维护起来很困难。另外,使用传统的j s p 来生成h t m l 页面,业务 逻辑和显示逻辑混杂在一起,代码维护量大,开发效率低下。w e b 系统本身的 第二章答疑子系统的功能模块 复杂性与业务流程的不确定性,是相当棘手且难于处理的。 m v c 2 顺应时代潮流,是指在开发w e b 应用程序中,j s p 负责用户的显示逻 辑,s e r v l e t s 负责用户的业务逻辑,这两者的结合,被成为m o d e l 2 或m v c 2 构 架( 模型一视图一控制器) 。模式最重要的思想就是业务代码与视图代码分离。能 有效地理清系统结构,降低系统复杂度与维护难度。而s t r u t s 就是基于j 2 e e 的m v c 体系框架。 2 4 1s t r u t s 框架简介 异步答疑子系统采用s t r u t s l 1 框架实现的。由于s t r u t s l 1 内嵌在 j b u i l d e r2 0 0 5 中,所以不需要单独安装。 s t r u t s 是a p a c h e 软件基金下j a k a r t a 项目的一部分,是目前流行最广的 m v c 体系架构。开始的代码基础从2 0 0 0 年5 月开始开发,直到2 0 0 1 年6 月, 1 0 版本发布。目前最高版本是s t r u t s l 1 。s t r u t s 采用了j s p 和s e r v l e t s 的长处,j s p 属于s t r u t s 的v i e w ( 视图) ,它负责显示逻辑,将客户所请求的 结果返回到客户端。s e r v l e t s 属于s t r u t s 的c o n t r o l e r ( 控制器) ,它负责处 理客户的请求,并将请求的结果返回视图,显示给读者。 m v c 是m o d e l v i e w c o n t r o l l e r 的缩写,是一种常用的设计模式。m v c 减 弱了业务逻辑接口和数据接口之间的耦台,以及让视图层更富于变化。m v c 的 工作原理如图2 2 所示: 图2 - 2m v c 的工作原理 f i g u r e2 - 2 f u n c t i o np r i c i p l eo l m v c s t r u t s 是m v c 的一种实现,它将s e r v l e t s 和j s p 标记( 属于j 2 e e 规范) 用作实现的一部分。s t r u t s 继承t m v c 的各项特性,并根据j 2 e e 的特点,做了相 应的变化与扩展。s t r u t s 的工作原理,如图2 3 所示: 第二章答疑子系统的功能模块 l 蔗h i i p 。l 酬竺r o i l ! e r t a “n i 酿e m o i :i e i ( b e m n ) 自 p r o v i d e d b y m b m k m d e r v l o e s u c h b e j b 日v e r iu p d a t e 厂习g e t h t t p l! 里r r e s d o i e 。一 图2 - 3s t r u ts 的工作原理 f i g u r e2 - 3f u n c t i o np r i c i p l eo fs t r u t s 控制器( c o n t r o l e r ) :在s t r u t s 中,承担m v c 中c o n t r o l l e r 角色的是一个 s e r v l e t s ,, q a o t i o n s e r v l e t 。与之相关联的有一个x m l 文件s t r u t s c o n f i g x m l 。 a c t i o n s e r v l e t 是一个通用的控制组件。这个控制组件提供了处理所有发送到 s t r u t s 的h t t p 请求的入口点。它截取和分发这些请求到相应的动作类( 这些动作 类都是a c t i o n 类的子类) 。另外控制组件也负责用相应的请求参数填充a c t i o n f r o m ( 通常称之为f r o m b e a n ) ,并传给动作类( 通常称之为a c t i o n b e a n ) 。动作类 实现核心商业逻辑,它可以访问j a v ab e a n 或调用e j b 。最后动作类把控制权传 给后续的j s p 文件,后者生成视图。所有这些控制逻辑利用s t r u t s c o n f i g x m l 文件来配置。 视图:主要由j s p 生成页面完成视图,s t r u t s 提供丰富的3 s p 标签库:h t m l , b e a n ,l o g i c ,t e m p l a t e 等,这有利于分开表现逻辑和程序逻辑。 模型:模型以一个或多个j a v a b e a n 的形式存在。这些b e a n 分为三类:a c t i o n f o r m 、a c t i o n 、j a v a b e a no re j b 。a c t i o n f o r m 通常称之为f o r m b e a n ,封装了来 自于c l i e n t 的用户请求信息,如表单信息。a c t i o n 通常称之为a c t i o n b e a n ,获取 从a c t i o n s e v l e t 传来的f o r m b e a n ,取出f o r m g e a n 中的相关信息,并做出相关的处 理,一般是澜用j a v a g e a n 或e j b 等。 流程:在s t r u t s 中用户的请求一般以十d o 作为请求服务名,所有的 d o 请求 均被指向a c t i o n s e v l e t ,其根据s t r u t s c o n f i g x m l 中的配置信息,将用户请求 封装成一个指定名称的f o r m b e a n ,并将此f o r m b e a n 传至指定名称的a c t i o n b e a n , 由a c t i o n b e a n 完成相应的业务操作,如文件操作,数据库操作等。每一个丰d o 均有对应的f o r m b e a n 名称和a c t i o n b e a n 名称,这些在s t r u t s c o n f i g x m l 中配置。 核心:s t r u t s 核, l j , a c t i o n s e v l c t ,a c t i o n s e v l e t 核一l j , s t r u t s c o n f i g x m l 。 2 4 2s t r u t s 特点和优点 采用s t r u t s 框架是由它的特点决定的 第二章答疑子系统的功能模块 ( 1 ) s t r u t s 具有一系列优点:结构层次分明,可重用性商,增加了程序 的健壮性和可伸缩性,便于开发与设计分工,提供集中统一的权限控制、校验、 国际化、日志等等。 ( 2 ) 对其他技术和框架显示出很好的融合性。 ( 3 ) s t r u t s 跟t o m c a t 、t u r b i n e 等诸多a p a c h e 项目一样,是开源软件, 这是它的一大优点,使开发者能更深入地了解其内部实现机制。 ( 4 ) t a g l i b 是s t r u t s 的标记库。就目前国内的j s p 开发者而言,除了使 用j s p 自带的常用标记外,很少开发自己的标记,或许s t r u t s 是一个很好的起 点。 第三章答疑子系统的功能模块 第三章答疑子系统的功能模块 本章总体介绍答疑予系统所完成的功能模块,及对各模块访问时所需的登 录验证问题。此外,本章还介绍了各模块的编码转换问题和文字的本地化国际 化问题。 3 1 答疑子系统的功能模块 答疑子系统的功能模块如图3 一】所示 田3 - 1 答疑子系统的功能模块 f i g u r e3 - 1 f u n c t i o nm o d u l e so f a n s w e r i n gs y s t e m 3 2 过滤器实现用户登录认证和编码转换 过滤器是s e r v l e t 的应用。当s e r v l e t 作为过滤器时,它可以对客户的请求进 过滤器是s e r v l e t 的应用。当s c r v i e t 作为过滤器时,它可以对客户的请求进 第三章答疑子系统的功能模块 行过滤处理,当它处理完成后,它会交给下一个过滤器处理,就这样,客户的 请求在过滤链里一个个处理,直到请求发送到目标。换句话说,如果请求、响 应之间有过滤器,那么在发出请求之后,做出响应之前,系统先处理过滤器, 如果过滤链上还有其它过滤器,那么处理完这个过滤器后,接着处理下面的过 滤器,直到过滤链上所有的过滤器全部处理,最后做出响应。举个例子,某个 网站里有提交”修改的注册信息”的网页,当用户填写完成修改信息并提交后, 服务端在进行真正的处理前需要做两个处理:客户端的会话是否有效;对提交 的数据进行统一的编码,比如u t f 编码。这两个处理可以在由两个过滤器组成 的过滤链里进行处理。当过滤器处理成功后,把提交的数据发送到最终目标: 如果过滤器处理不成功,比如客户端的会话无效,它将把视图派发到指定的错 误页面。 过滤器的优点是不必重复编写代码,层次结构简单,清晰。 3 2 1 过滤器实现用户登录认证 1 用户登录认证算法 注册用户登录后可以访问任何网页视图。否则只能访问系统首页和注册模 块。为了判断用户是否登录,当用户登录后,把其用户名放在会话的一个属性 中。如果这个属性存在,说明用户登录,可以访问任何页面,否则页面转向系 统首页。其流程如图3 2 所示: 第三章答疑子系统的功能模块 图3 - 2 用户登录认证过滤器流程图 f i g u r e3 - 2f u n c t i o ng r a p h

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论