




已阅读5页,还剩48页未读, 继续免费阅读
(检测技术与自动化装置专业论文)基于lamp的在线申请系统设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大连理工大学硕士学位论文 摘要 计算机技术和网络技术的飞速发展,加速了全球信息化的进程。国际教育市场在世 界经济全球化、贸易自由化的推动下逐步走向开放。教育资源在国际间进行配置,教育 要素在国际间加速流动。高效、迅捷、准确的互联网信息交互逐步取代传统纸质信息传 递。基于w e b 应用的在线申请在国际教育资源的流动过程中占据重要地位。 本文在深入分析了建站技术的基础上,采用l i n u x 作为操作系统,使用a p a c h e 作 为w e b 服务器,完成h r r p 请求的处理;采用p h p 作为开发语言,完成程序的设计和 代码的编写;使用与p h p 结合最完美的m y s q l 数据库,设计优化的数据表存储用户交 互的信息;选用三层b r o w s e r s e r v e r 网络模式,完成体系结构的布置;运用m v c 设计 模式,实现业务层、控制层和视图层的分离;使用实时通信的a j a x 技术,完成无刷新 的数据更新和维护,实现草稿的实时保存。 本文基于开源软件l a m p 的组合设计并实现了国内学生的在线申请功能和国外院 校的在线审核功能以及独立的后台管理。本文设计的在线申请系统是全新的自助申请平 台,打破现有的出国留学申请方式的局限性,为国内学生和国外院校提供一条直接沟通 的平台。学生申请和院校审核全部在本平台上完成,注重申请效率,提高申请透明度, 增加录取机率。系统设计过程采用m v c 模式进行模块化开发,注重系统的可伸缩性、 可维护性、可扩展性、可重用性和易管理性的应用。系统实现充分考虑了不同用户的需 求,实现异步信息的更新和维护,让用户得到良好的体验。通过实际测试对本文所设计 申请功能和审核功能进行验证。 关键词:l a m p ;三层b s 网络模式;m v c 设计模式;a j a x ;开源软件 基于l a m p 的在线申请系统设计与实现 d e s i g na n di m p l e m e n t a t i o no fo n l i n ea p p l i c a t i o ns y s t e m b a s e do nl a m 噼 a b s t r a c t w i t ht h ed e v e l o p m e n to ft h ee c o n o m i cg l o b a l i z a t i o na n dt h et r a d el i b e r a l i z a t i o n , i n t e r n a t i o n a le d u c a t i o nm a r k e tg r a d u a lm o v et o w a r d so p e n n e s s e d u c a t i o n a lr e s o u r c e sw e r e a l l o c a t e di nw o r l d w i d e t h eg r e a tp r o g r e s so fc o m p u t e ra n dn e t w o r kt e c h n o l o g i e sa c c e l e r a t e s t h eg l o b a li n f o r m a t i z a t i o n h i g he f f i c i e n t ,f a s ta n da c c u r a t ei n f o r m a t i o ne x c h a n g eo ft h e i n t e m e tr e p l a c e st h ei n f o r m a t i o nt r a n s m i s s i o nb yp a p e r t h eo n l i n ea p p l i c a t i o na b r o a db a s e do n w e ba p p l i c a t i o ni sp l a y i n gag r e a tr o l ei nt h ea p p l i c a t i o no ft h ei n t e r n a t i o n a lr e s o u r c e so f e d u c a t i o nc o o p e r a t i o n t h o r o u g h l yr e s e a r c h i n gf o rt h ei n t e m e tm o d e l i n gt e c h n i q u e ,w ed e c i d e du s i n gl i n u xa s o p e r a t i o ns y s t e m , a n du s i n ga p a c h e a sw e bs e r v e rt od e a l 、析t ht h eh t t pr e q u e s t p r o g r a m m i n gd e s i g na n dc o d ew a si m p l e m e n t e dw i t hp h p m y s q li s t h eb e s td a t a b a s e c o m b i n i n gw i t hp h p w h i c hw a su s e dt os t o r ea l lo ft h ei n f o r m a t i o no fs y s t e m t h es y s t e m s t r u c t u r ea r r a n g e m e n tw a sd e s i g n e du s i n gt h r e e t i e rb r o w s e r s e r v e r t h es e p a r a t i o no fs e r v i c e l a y e r , c o n t r o ll a y e ra n dv i e w e rl a y e rb a s e do nm v cd e s i g np a t t e r nw a sr e a l i z e d ,a n d n o - - r e f u r b i s ho fd a t au p d a t ea n ds k e t c hr e a l - - t i m ed a t a - p r e s e r v a t i o nb yu s i n gt h ea j a x t e c h n o l o g yw a sf i n i s h e d i nt h i sp a p e r ,o n l i n ea p p l i c a t i o na n do n l i n ev e r i f i c a t i o nw a sc o m p l e t e d ,a sw e l la s , i n d e p e n d e n tb a c k s t a g em a n a g e m e n ts y s t e mw a sd e s i g na n di m p l e m e n t a t i o nb a s e do nl a m p o p e ns o u r c es o f t w a r e t h es y s t e mi sac o m p l e t e l yn e ws e l f - h e l pp l a t f o r m ,a n di ta i m e dt ob u i l d a no p e np l a t f o r mf o rt h ec o m m u n i c a t i n gb e t w e e ns t u d e n t sa n du n i v e r s i t i e s b o t ha p p l i c a t i o no f s t u d e n ta n dv e r i f i c a t i o no fs u p e r v i s o rw e r ec o m p l e t eo nt h ep l a t f o r m k e yw o r d s :l a m p ;t r i t i e rb s ;m v cp a t t e r n ;a j a x ;o p e ns o u r c es o f t w a r e i i 大连理工大学学位论文独创性声明 作者郑重声明:所呈交的学位论文,是本人在导师的指导下进行研究 工作所取得的成果。尽我所知,除文中已经注明引用内容和致谢的地方外, 本论文不包含其他个人或集体已经发表的研究成果,也不包含其他已申请 学位或其他用途使用过的成果。与我一同工作的同志对本研究所做的贡献 均已在论文中做了明确的说明并表示了谢意。 若有不实之处,本人愿意承担相关法律责任。 学位论文题目:基至绝竺2 亘曼垄丛生茎叁叠丑丝丑查! 墨丝 作者签名: 主圣罡 日期:2 翌互年生月生日 大连理工大学硕士学位论文 大连理工大学学位论文版权使用授权书 本人完全了解学校有关学位论文知识产权的规定,在校攻读学位期间 论文工作的知识产权属于大连理工大学,允许论文被查阅和借阅。学校有 权保留论文并向国家有关部门或机构送交论文的复印件和电子版,可以将 本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印、或扫描等复制手段保存和汇编本学位论文。 学位论文题目: 作者签名: 导师签名: 日期:捌年旦月卫日 日期:珥年旦月旱日 大连理工大学硕士学位论文 1绪论 1 1课题背景和现实意义 国际教育市场在世界经济全球化、贸易自由化的推动下逐步走向开放,教育资源在 国际间进行配置,教育要素在国际间加速流动,教育国际交流与合作日益频繁,世界各 国教育相互影响、相互依存的程度不断提高。近年来,随着人们生活水平的提高和国际 化文化交流的影响加深,越来越多的学生想体验国外院校的文化氛围。出国留学人数在 迅速增加,2 0 0 3 年出国留学的人数还不足1 2 万人,但是到了2 0 0 8 年已经达到1 7 9 8 万 人。据估计2 0 1 0 年出国的人数将超过2 0 万人。虽然出国的人数在激增,但是出国的途 径却很大的受到限制。目前国内学生采用的渠道只有两种:一种是个人直接申请,即不 通过任何中介机构,个人直接向国外院校提出申请。申请的时候自己提供签证等材料, 并且向校方提供托福、雅思等被认可的语言考试成绩。虽然这种方法避免了中介收取的 大笔中介费用,但是如果要同时申请几所院校运作的周期太长。另外一种方法是通过中 介机构进行申请,由于中介机构对国外院校的留学政策、流程和录取要求比较了解,通 过这种途径,申请者被录取的机率高,但是申请者需要为此付出大笔的申请费用。况且 中介机构存在良莠不齐的状况,申请者有时候分不清容易受骗。这两种途径均不能最大 化的照顾到国内学生和国外院校之间的利益。 据调查,至今国内尚且没有一个公开透明的申请平台为独立办理留学的申请者提供 了一条直接与国外院校沟通的申请渠道。鉴于目前的状况,我们进行了“基于l a m p 的在线申请系统研发工作。该系统充分运用完善的互联网络,建立一个集在线申请、 在线审批、在线管理、在线打印和后台维护管理等多用户、多功能的信息系统。致力于 为国内申请者和国外院校之间提供一条透明的、便于交互的沟通平台。该平台为国内学 生提供大量参考信息,客观的向申请者展示国外院校的详细情况和申请指导。学生在平 台上注册账号,填写院校要求的信息并上传必要的证明材料即可完成申请。学生可根据 需要,一次最多申请不同国家的1 0 个院校。系统邀请国外院校在平台上注册账号,并 对申请学生的信息进行审核处理。允许院校负责人在线对学生信息进行审核,提供在线 录取功能,并提供p d f 格式文件的生成与下载,即在线将学生的电子信息转化生成p d f 文件。 本系统是全新的自助申请平台,申请过程和审核过程对是透明的,各个院校独立操 作,互不影响,有助于提高学生的成功机率。通过在线形式的操作能够实现信息传递的 及时性、广泛性。能够高效的完成国内学生和国外院校之间的交流。 基于l a m p 的在线申请系统设计与实现 1 2 软件的选择 选择合适的软件对于系统的整体性能影响很大l l j ,系统软件的选择包括操作系统的 选择、w e b 服务器的选择、编程语言的选择以及数据库的选择。w e b 服务器的设计过程 中,网络操作系统的选择比硬件选择更重要1 2 】,因为网络操作系统的更换需要大量的时 间和昂贵的费用,而硬件只需在现有的服务器上添加或更换即可。 本论文的在线申请系统选择具有代表性的l i n x u + a p a c h e + m y s q l + p h p 技术平刨引。 l a m p 网站架构是目前国际流行的w e b 框架,该框架系统中包括:以l i n u x 作为操作 系统,a p a c h e 作为网络服务器,采用m y s q l 数据库,并以p e r l 、p h p 或者p y t h o n 编 程语言进行开发。l a m p 国际上成熟的架构框架【4 j ,也是目前建站使用最多的框架。作 为开源架构的“黄金组合 ,l a m p 具有较强的稳定性和安全性且可以跨平台移植。其 性能与j a v a j 2 e e 相比具有资源丰富、轻量、开发快速的特点:与微软的n e t 相比,具 有高通用性、高性能、低价格、跨平台的优势1 5 j 。l a m p 技术结构不仅能够满足系统的 性能要求,而且能适应系统对网络大访问量的需要以及日益膨胀的数据库,保证系统在 重负之下保持稳定运行【2 】。因此现在很多流行的商业应用都是采取这个架构。 系统采用三层b s ( b r o w e r s e r v e r ) 网络应用模式。基于浏览器j l 臣务器( b s ) 多 层分布式模式使用简单,系统的维护工作量小,并且开放性高【6 】。三层b s 模式是将系 统功能分成表示层、功能层和数据层【6 1 。三层之间有明确的分割,在逻辑上是相互独立 的。这种模式的体系结构的优点是将数据层独立出来,并且表示层和功能层也各自分离 成独立的程序,使系统不但具备了稳定、安全和处理能力的高等特性,同时还拥有开放 式系统成本低、可扩展性强、开发周期短等优点【7 j 。 系统使用m v c ( m o d e l v i e w c o n t r a l l e r ) 的设计模式。设计模式的使用有助于提高 软件开发效率,增强软件的可复用性【l 】。m v c 设计模式注重模型、视图和控制器的分 离。其中模型是系统的核心部分,包含应用程序的核心功能;视图是呈现给用户的显示, 向用户提供良好的页面输出;控制器接收用户的输入操作,调用相应的模型和视图完成 用户的需求。m v c 设计模式的应用使开发者更容易协作,有助于开发具有伸缩性、便 于扩展、便于流程维护的系统【9 j 。 为了让用户得到更好的体验,开发过程中结合实时通信的n j a x 技术,实现无刷新 的数据更新与维护。a j a x 技术的使用减少了数据更新的响应时间,使得在线的w e b 应 用与桌面程序有同样的观感【1 0 , 1 1 】。 开发过程中,采用所见即所得的d r e a m w e a v e r 网页编辑器进行页面开发。利用它可 以轻而易举地制作出跨越平台限制和跨越浏览器限制的充满动感的网页【6 】。 大连理工大学硕士学位论文 1 3 主要研究内容 针对现有出国留学申请需求的局限性和迫切性,本系统选择颇有代表性的l a m p 开发平台,以l i n u x 作为操作系统,以a p a c h e 作为w e b 服务器,以m y s q l 为后台数 据库,使用p h p 语言进行程序开发,以实现与数据库的连接和前端浏览器的控制。同 时结合a j a x 技术,让用户体验到快速的页面显示。 本论文的主要完成了以下几个方面的工作: ( 1 ) 需求分析 在系统开发之前,充分考虑了目前的现状和市场需求,详细分析系统设计与实施的 可行性。针对出国留学申请的特点,详细分析系统要实现的功能与性能要求,最终决定 采用l a m p 作为开发实现系统功能的软件组合。 ( 2 ) 系统设计 在需求分析的基础之上,对系统进行了总体设计和详细的功能设计。构建出系统的 总体框架,采用m v c 设计模式,确定系统实现的功能模块并对功能模块进行详细设计。 根据需求,完成数据存储和数据流向的详细设计,保证系统实现的良好性能。 ( 3 ) 系统实现 依据系统的详细设计,实现系统的整体功能并测试运行。在线申请系统完成了在线 申请、在线审批、在线p d f 文件生成以及后台管理维护等功能,向用户提供了良好的 界面显示。通过实际测试,确定系统能稳定运行。 1 4 论文的组织 本文拟分为四章,内容安排如下: 第一章绪论。对目前的教育状况进行研究和分析,针对当前的教育资源的国际化 流动趋势和国内学生申请出国留学方式的局限性和迫切行,提出了通过基于l a m p 的在 线申请系统的研究。 第二章相关技术介绍。对选用的l a m p 的框架体系结构及相应的软件进行介绍。 分析选用的三层的b s 网络模式和m v c 设计模式的性能和优点,并对实时通信的a j a x 技术的相关应用进行阐述。 第三章系统分析与设计。详细分析了在线申请系统的功能需求,进行模块化分析 并对模块进行详细设计。依据系统的需求分析,设计出核心数据存储表,并对数据表的 结构进行优化。 第四章系统的实现。以页面图的形式详细阐述了系统的实现过程,并通过具体的 实例演示实现效果。对系统的功能和性能进行测试。 基于l a m p 的在线申请系统设计与实现 2 相关技术介绍 2 1l a m p 作为互联网的应用服务,软件的选择对系统的影响很大。良好的软件组合能提高系 统的开发效率,并能减少服务费用和维护费用【4 】。而作为开源软件的代表,l a m p 组合 的使用近几年来发展迅速,已经成为w e b 服务的事实标准【1 2 】。全世界范围内越来越多 的站点采用这种方式。根据网站的流量统计,7 0 以上的访问流量是l a m p 来提供的, l a m p 已经成为最强大的网站解决方案【3 j 。 l a m p 组合的软件都是影响较大开源软件,虽然这些开源代码程序的本身不是专门 为另外几个程序设计的,但是由于具有很多共同点,这些组件经常被组合起来使用。每 个组成元素的开放式结构使得它们之间的兼容性随着应用而逐渐完善,能够顺畅而缜密 的结合在一起共同组成一个强大的w e b 应用程序平台。目前几乎所有的l i n u x 发布的版 本中都包含对这些产品的兼容。大量的实践证明l a m p 是一组高效的软件组合,能够支 撑系统良好的运行。全球范围内,越来越多的企业选择将在l a m p 上架构平台。而且, 随着开源运动的蓬勃发展,开源软件的l a m p 组合的使用会越来越广泛。 2 1 1 a p a c h ew e b 技术 ( 1 ) a p a c h e 简介 a p a c h e 是一种开放源码的w e b j 艮务器,其使用量在世界范围内一直处于领先地位, 市场份额高出第二位的产品一倍多。世界上很多著名的网站如a n l a z o n c o r n 、y a h o o ! 、 w 3c o n s o r t i u m 、f i n a n c i a lt i m e s 等都是a p a c h e 的产物。a p a c h e j 艮务器支持h t t p 协议, 可以运行在几乎所有广泛使用的计算机操作平台上【1 3 】。a p a c h e 功能强大、灵活性高、可 扩展性好,可做代理服务器并且可通过简单的a p i 扩展,将p e r l p y t h o n 等解释器编译到 服务器1 1 4 】。由于它的开源性,不断有人来为它开发新的功能、新的特性、修改原来的缺 陷。a p a c h e 是l i n u x 系统下工作最稳定,性价比最高的w e b 且e 务器【3 1 。通过灵活的配置, a p a c h ew e b 服务器可以实现诸多强大的功能。a a p c h e 具有浏览器重定向功能和u r l 重写 功能,使用该功能可以实现虚拟主机的功能。通过日志可以检查系统是否被入侵。另外, a p a c h e 与第三方模块相结合容易,有利于进一步扩展功能,完成适合自己需要的系统的 定制。 a p a c h e 易与应用引擎p h p 和数据库m y s q l 相结合使用。它们组合在一起的工作原理 如图2 1 所示: 大连理工大学硕士学位论文 m y s q l 图2 1 服务器组建工作图 f i g 2 1 $ a r i j c t u r * o f s e r v e rc o n s t 】m c t l o n ( 2 ) a p a c h e 服务器的特性 a p a c h e 服务器之所以能一直拥有超高的市场占有率,这和它提供的服务功能是分 不开的。a p a c h e 服务器有很多特性1 1 2 - 4 1 :它支持最新的h t t p 1 1 通信协议并且支持多 种方式的h t t p 认证;支持通用网关接口;支持基于口和基于域名的虚拟主机;支持 实时监视服务器状态和定制服务器日志;拥有简单而强有力的基于文件的配置过程;集 成p e r l 处理模块和代理服务器模块并且通过第三方模块可以支持j a v as e r v l et s ;支持服 务器端包含指令( s s i ) :支持安全s o c k e t 层( s s l ) ;提供用户会话过程的跟踪;支 持f a s t c g i a 212p 咿技术 ( 1 ) p h p 发展简史 p h p 晟初由r a s m u sl c r d o r f 于1 9 9 4 年创建,开始时只是为了便于统计自己网站的 访问量而采用p e f l 语言编写的简单程序。后来经过改进又采用c 语言重新编写,同时扩 展支持了进行数据库的访问【”】。1 9 9 5 年,第一个版本开始对外发表。该版本提供了一 些简单的功能,包括访客留言本、访客计数器等。之后p h p 开始为越来越多的网站使 用,也逐渐添加了新特性,比如数组变量和循环语句等等。1 9 9 5 年,p h p 20 对外发布。 并定名为p h p f i ( f o r mi n t e r p r e t e r ) 。p h p f i 加入了对m s q l 的支持,由此开始,p h p 开始在动态网页上进行开发,p h p 的用户也开始剧增。截止到1 9 9 6 年底,已经有1 5 0 0 0 个网站使用p h p f i 。而在1 9 9 7 年中,已经有超过五万个网站开始使用p h p h 架构【】6 1 。 、参,囝m |令婷 除”蚓却 陡p 蚓 睡 基于l a m p 的在线申请系统设计与实现 该年,z e e vs u r a s k i 及a n d ig u t m a n s 加入到开发小组中,第三版的开发步入实施。而第 三版就定名为p h p 3 ,以后延续了此种命名方式。p h p 4 0 增加了许多新的特性并于2 0 0 0 年问世。目前p h p 已经公开发布了6 0 版本。 p h p 和a s p ,j s p 脚本语言一样,也是一种h t m l 内嵌式的语言,并且是面向w e b 服务器的技术【l n 。p h p 提供在h t m l 代码中混合程序代码并由语言引擎解释执行程序 代码的能力。p h p 语言的风格和c 语言类似。但是其独特之处在于混合了c 、j a v a 、p e r l 语法并加上自己的特征。正是因为这样,它可以比c g i 或者p e r l 更快速的执行动态网 页i ”一7 1 。p h p 引擎是在服务器端执行的脚本,充分利用了服务器的性能,其执行效率比 完全生成h t m l 标记的c g i 要高许多。p h p 执行引擎还会将用户经常访问的p h p 程序 驻留在内存中,其他用户再一次访问这个程序时就不需要重新编译程序【l8 】,只要直接执 行内存中的代码就可以了,这是p h p 高效率的体现之一。p h p 具有非常强大的功能, 能实现所有c g i 或j a v a s c r i p t 的功能,而且支持几乎所有流行的数据库以及操作系统【l 8 1 。 ( 2 ) p h p 特性 p h p 的一个好的特性就是可以在任何主要的操作系统上运行【l 引。除此之外p h p 还 有许多其他的优点,总结如下: 强大的数据库支持【1 7 】。p h p 集成了大多数的数据库,这是其它任何编程语言无 法比拟的。p h p 对许多数据库系统都具有针对它们的内置连接,使得其对数据库的操作 异常的简捷方便。p h p 不仅支持m y s q l ,还可以直接连接到p o s t g r e s q l 、m s q l 、o r a l c e 、 d b m 、f i l e p r o 、h y p e r w a v e 、i o f o r m i x 、i n t e r b a s e 和s y b a s e 等数据库。并且只要数据库 支持o d b c ( 开放式数据库连接标准) 就可以通过o d b c 和数据库直接连接。 内置的函数库十分丰富。由于p h p 是为w e b 开发而设计的,它提供了许多内置 函数用来执行w e b 任务,如g i f 图像生成、连接w e b 服务、解析x m l 、发送电子邮 件以及p d f 文档生成等,使得在程序设计方面有着更好的支持【l 引。 源代码完全开放。p h p 的代码是完全开放的,所有的p h p 源代码事实上都可以 得到。p h p 遵守g n u 条约,任何人均可按条约免费使用并进行源码改写,使用者还可 以通过p h p 的站点以邮件列表等方式获得支持【6 】。 简单易学。p h p 的语法结构借用了c 、p e r l 的优秀部分,因此有以上语言编程 经验的开发人员可快速地掌握p h p 并将投入使用。p h p 引擎在u n i x 、l i n u x 或是 w i n d o w s 的平台上安装都很简单。并且由于它是跨平台语言,用户更换平台时,无需变 换p h p 代码,就可以在相应的平台上直接运行【l 引。 效率高。p h p 对系统资源的消耗很少,可以作为服务器的一个模块运行,此时 一6 一 大连理工大学硕士学位论文 运行代码不需要调用外部二进制程序【2 0 1 。服务器解释脚本不需要承担任何额外负担。同 时还可以以灵活的形式存在于其他服务器。在w e b 站点访问量非常大时,p h p 的解析 速度相当于传统c g i 程序的4 倍【1 7 】。p h p 支持类和对象,p h p 4 及更高版本都支持对象 重载、引用技术等新的功能和特性。现在p h p 完全可以用来开发大型商业程序。 p h p 与其它几种c g i 的比较如表2 1 所剥1 5 1 。 表2 1 几种c g i 程序比较 t a b 2 1 c o m p a r i s i o no fs e v e r a lc g ip r o g r a m m e 2 1 3m y s q l 技术 ( 1 ) m y s q l 数据库简介 m y s q l 关系型数据库由瑞典m y s q la b 公司开发并于1 9 9 8 年1 月发行了第一个 版本。它使用系统核心提供的多线程机制,提供完全的多线程运行模式,提供了面向c 、 c + + 、e i f f e l 、j a v a 、p e r l 、p h p 、p y t h o n 等编程语言的编程接i ;3 ( a p i s ) 1 6 1 ,支持多种 字段类型并且提供了完整的操作符支持查询中的s e l e c t 和w h e r e 操作,是目前为止 和p h p 交互最好的数据库系统【2 1 】。 m y s q l 是近些年最流行的关联数据库管理系统。关联数据库将数据保存在不同的 表中,而不是将所有数据放在一个大的仓库内 2 2 】。这就增加了速度并提高了灵活性。正 是由于其具有速度快、体积小、且具有开源的优点,很多中小型网站把m y s q l 作为最 佳选择。和p h p 一样,m y s q l 也在w i n d o w s 、l i n u x 、u n i x 等流行的操作系统下运行, 基于l a m p 的在线申请系统设计与实现 所以基于p h p 和m y s q l 的程序,可以轻易地移植到不同的系统平台上。p h p 和m y s q l 组合也成了成为进行w e b 开发的最好选择i z l j 。 m y s q l 数据库管理方式便捷。可以使用命令行工具管理,也可以使用图形管理工 具m y s q la d m i n i s t r a t o r 和m y s q lq u e r yb r o w s e r 等进行直观的数据操作和管理。其中 p h p m y a d m i n 是由p h p 脚本语言针对m y s q l 写的资料库系统管理程式,管理者可通过 w e b 界面管理m y s q l 资料库。同样,p h p m y b a c k u p p r o 也是由p h p 写成的,也可以通 过w e b 界面管理数据库,并且可以用来自动在某个时间或周期备份m y s q l 数据库。此 外,还有其他的g u i 管理工具,例如早先的m y s q l f r o n t 以及e m s m y s q lm a n a g e r ,n a v i c a t 等等。 ( 2 ) m y s q l 的主要特性 性能高。m y s q l 的速度非常快。m y s q l 使用了极快的“b 树”磁盘表( m y l s a m ) 和索引压缩【2 3 】;采用核心线程的完全多线程;提供了事务性和非事务性存储引擎。测试 表明,m y s q l 的运行速度比其他竞争产品快很多。 使用简单。m y s q l 可以在许多操作平台下安装,并且安装简单,可以实现跨平 台移植。其使用语句为广为熟悉的s q l 开发语言。 成本低。在开源代码的许可下,m y s q l 都是免费的。 安全性高。m y s q l 通过众多不同的编译器进行了测试而且采用p 耐匆( 商业内 存溢出检测器) 以及g p l 工具v a l 面n d 测试了m y s q l 代码【1 7 j 。 2 2a j a x 技术 2 2 1 a j a x 概念及工作原理 a i 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 ) 即异步j a v a s c r i p t 和x m l ,是创建交互式 w e b 应用的开发技术【2 4 1 。a j a x 技术主要是用于处理局部的客户端及服务器之间的数据 交互,因此,从本质上来说该技术是浏览器端的技术【2 引。 , 传统的w e b 应用流程为用户在客户端填写表单( f o r m ) ,然后向服务器发送请求, 服务器接受请求并对表单进行处理,返回处理结果并刷新显示新的页面。由于每一次交 互过程中,即使很小的数据维护都需要向服务器发送一次请求,然而前后两个页面中大 部分的h t m l 代码都是相同的,这就造成了带宽的极大浪费,同时也会严重增加系统的 响应时间。a i a x 技术的最大特点就是在不更新整个页面的前提下维护数据【2 6 。交互过 程中客户端仅向服务器发送并取回必需的数据,客户端采用j a v a s c r i p t 处理服务器的回 应。由于服务器和客户端之间交换的数据大量减少( 平均大约只有原来的5 ) 【z ”,并 大连理工大学硕士学位论文 且很多的处理工作可以在发出请求的客户端机器上完成,所以服务器端的处理时间就会 极大减少。这使得应用程序能够更为迅速地回应用户动作,避免了处理那些没有改变过 的信息,从而使得用户得到更快的回应阱刃j 。 采用a j a x 技术的w e b 应用就是在传统应用的浏览器和服务器交互模式的中间夹了 一层s c r i p t ,即将原来的b r o w s e r s e r v e r 架构,演变成b r o w s e r s c r i p t s e r v e r 架构。这也 是a j a x 的最重要的核心【2 剐,两种结构的比较如图2 2 所示: 传统w e b 页面工作方式a j a xw e b 页面工作方式 图2 2 两种w e b 工作方式的比较 f i g 2 2c o m p a r i s i o no f t w ow e bs t r u c t u r e 2 2 。2a j a x 核心技术 a j a x 不是单一的技术,而是若干项技术的融合【2 6 1 。a j a x 技术的使用是为了构建丰 富的w e b 应用,减少响应时间,使在线的w e b 应用与桌面程序有同样的观感。a j a x 融 合的每一项技术都是基于本身的能力发展,组合在一起形成了一个更强的新技术【2 7 】。具 体包含的基本核心技术如下: j a v a s c r i p t :a j a x 引擎是采用j a v a s c r i p t 脚本语言编写的。其主要功能是负责绑定 和处理所有数据【27 1 。客户端也可以使用j a v a s c r i p t 接受和处理服务器端传递过来的数据。 j a v a s c r i p t 在交互的过程中起到纽带的作用。j a v a s c r i p t 是w e b 应用开发中使用最广泛的 基于l a m p 的在线申请系统设计与实现 客户端脚本语言,它不仅可用来开发交互式的w e b 页面,更重要的是它将h t m l 、x m l 和j a v aa p p l e t 、f l a s h 等功能强大的w e b 对象有机结合起来,使开发人员能快速生成分 布式应用程序1 2 0 j 。 x m l h t t p r e q u e s t - 作为a j a x 的核心技术之一,其主要功能是进行通信代理,从 而实现客户端和服务器端的异步数据交互【2 8 】。a j a x 的最大的特点是实现无刷新的数据 更新与维护,这一特点主要得益于x m l h t t p 组件x m l h t t p r e q u e s t 对象【2 4 j 。 d o m :文档对象模型( d o c u m e n to b j e c tm o d e l ) 。它的主要作用是配合j a v a s c r i p t 对已载入页面进行动态更新,实现动态显示和交互。d o m 是一种与浏览器、操作平台、 以及语言无关的接1 2 1 ,符合w 3 c 标准1 2 ”。其本质是作为页面与j a v a s c r i p t 脚本( 或其他 程序语言) 之间的沟通桥梁1 1 1 1 。d o m 向h t m l 和x m l 提供包含文件的结构表述的a p i , 从而使开发者可以改变其中的内容及可见性。在a j a x 中,通过j a v a s c r i p t 获取对象并加 以操作,通过改变这些对象的某些属性或内容实现无刷新的动态显示。 x m l :扩展标记语言( e x t e n s i b l em a r k u pl a n g u a g e ) 。x m l 用于数据的传输与 存储,是a j a x 不可或缺的一部分。x m l 是一种开放的、可扩展的、描述数据结构的语 言【2 7 1 ,也是独立于软件和硬件的信息传输工具。x m l 使用结构化标记定义数据,从而 使数据的获取更加方便,目前x m l 已经成为网上数据和文档传输的标准【l 。 2 2 3x a j a x 框架 x a j a x 是一个开源的a j a x 框架。与其他a j a x 框架不同的是,x a j a x 是用p h p 语言 编写的,使用者不需深厚的j a v a s c r i p t 功底就可以用p h p 写出实用的a j a x 应用程序1 3 。 实现a j a x 的效果,无刷新提交数据,无刷新显示数据,无刷新替换数据。x a j a x 很好的 黏合了h t m l 、c s s 、j a v a s c r i p t 和p h p 。 x a j a x 最大的特点是采用了x m l h t t p r e s p o n s e ,这样做的优点是可以采用p h p 进行 部署,而采用j a v a s c r i p t 来完成a j a x 框架的操作。x a j a x 的p h p 对象都生成了对应的封 装好了的j a v a s c r i p t 函数,使用x a j a x 时开发者只需要编写一些p h p 函数即可【3 0 j 。需要 异步调用时,封装好的函数使用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 a j a x 对象对应的p h p 函数。调用结束后,p h p 函数由x a j a x 返回一个x m l 响应。x m l 响应包含了特定的指令和数据,它们可以被x a j a x 的j a v a s c r i p t 消息分析器 解析,并且被用于更新应用程序的内容。 由于x a j a x 是完全面向对象的,并且提供添加脚本的方法,所以就具有了无限扩展 的可能【3 0 1 ,开发者可以使用一些附加的用户定制功能进行扩展。用户甚至可以创建自己 大连理工大学硕士学位论文 的x a j a x 响应类以继承x a j a x r e s p o n s e 类以及它的方法,然后加上自己定制的响应就可 以实现其他的效果。 使用x a j a x 框架的工作流程如图2 3 所示: 控制函数 j m o d e l = n e w r e g i s t e r m o d l e 0 ; s t h i s - t t s e r = n e wu s e r m o d e l 0 ; p a r e n t :_ c o n s t r u c t ; 大连理工大学硕士学位论文 p u b l i cf u n c t i o ni n d e x a c t i o n 0 $ t h i s 一 - e w d i s p l a y ( r e g t p l p h p ) ; p u b l i cf u n c t i o nc h e c k a c t i o n 0 p u b l i cf u n c t i o n - c a l l ( ) $ t h i s 一 _ r e d i r e c t ( l o g i n p h p ) ; ) ) 4 3 2 模型层的实现 模型层的作用是封装与应用程序的业务逻辑相关的数据以及对数据的处理方法【3 3 】。 模型的功能不依赖控制器和视图,也就是说,模型不关心如何被操作或显示什么界面。 模型可以直接访问数据库。在这里模型表示应用程序的状态。r e g i s t e r m o d e l 类是建立的 用户注册模型。其部分代码如下: c l a s sr e g i s t e r m o d e le x t e n d so b j e c t p r i v a t e $ p o s t ; p u b l i cf u n c t i o n _ c o n s t r u c t o $ t h i s - p o s t = $ _ p o s t ; p a r e n t :_ c o n s t r u c t ; p u b l i cf u n c t i o nc h e c k a l l 0 $ u s e r e r r o r = $ t h i s 一 c h e c k u s e r 0 ; $ m a i l e r r o r = $ t h i s - c h e c k m a i l ( ) ; $ p s w d e r r o r = $ t h i s - c h e c k p s w d 0 ; , p r i v a t ef u n c t i o nc h c c k u s e r o p r i v a t ef u n c t i o nc h e c k m a i l 0 ) p r i v a t ef u n c t i o nc h e c k p s w d o p u b l i cf u n c t i o na d d r e g i s t e r 0 $ t h i s d bi n s e r t ( “i n s e r ti n t ot a b l ev a l u e s ( $ t h i s 一 p o s t ) ”) ; 基于l a m p 的在线申请系统设计与实现 4 3 3 显示层的实现 视图层的作用是依据控制层或模型层的需求显示相应的页面。在视图中一般没有程 序上的逻辑。视图层代码实现比较简单,部分代码如下: k w i ka p p l yr e g i s t e r w e l c o m et ok w i ka p p l y b e l o n g st o u s e m a m e 一3 0 一 大连理工大学磺士学位论文 44 用户管理功能的实现 登陆是系统的首要实现。基于对信息安全的考虑,要求进行严格的入口控制,对登 录后的用户有访问权控制和操作等级限定。系统的登录页面需要1 :3 令验证通过才能
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国际贸易大客户货物进出口代理合同
- 交通运输机械伤害事故调查报告及责任认定合同
- 2025公务员社区面试题及答案
- 校验码标准化研究-洞察及研究
- 音乐专业加试题库及答案
- 戏曲专业考博试题及答案
- 文书专业面试题目及答案
- 胆囊结石患者的护理
- 春的教学课件
- 员工团队精神培训
- 电梯安全总监培训记录课件
- 2025四川省水电投资经营集团有限公司所属电力公司员工招聘6人备考模拟试题及答案解析
- 房地产中介居间服务合同5篇
- 童话中的英雄勇敢的小矮人作文10篇范文
- 人员外出安全培训内容课件
- 小学美术剪纸社团教学活动计划
- 2025年法官入额遴选政治理论真题及答案
- 护理系毕业论文2000
- 空调科安全培训课件
- 2025征兵考试题库与答案
- 2025-2026学年浙教版小学劳动技术一年级上册教学计划及进度表
评论
0/150
提交评论