已阅读5页,还剩48页未读, 继续免费阅读
(计算机应用技术专业论文)基于web20的个人学习门户的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要 随着i n t e m e t 和w 曲技术的发展,w e b 应用系统在i n t e m e t 上的使用也越来 越广泛。特别是互联网进入w e b2 0 时代,w e b 应用以内容为中心,转向以个人 为中心、以内容为媒介。那么个人学习门户的提出不仅可以是学习者个性化、社 会化信息的汇聚点,还可以作为学习者社会关系、日常学习活动等各种资源汇聚 节点。因此,借助w e b 2 0 为学习者营造一种个人学习门户,可以充分体现现代 网络学习行为。它为学习者提供了处理信息、资源和日常事务的一个技术平台。 本论文首先论述w e b 2 0 的特性,并以其为指导思想,提出一个新的个人学 习门户平台,该平台是基于b s + c s 模式,使用p h p 作为b s 部分展现技术, v i s u a lc + + 作为c s 部分展现技术,后台使用m y s q l 作为数据库服务器。系统 充分实现了用户在联网和非联网状态下均可使用个人学习门户。本系统主要实现 的功能包括:e n o t e 、收藏夹、学习日志、r s s 和页面风格设置等,并可对相应 功能模块进行分类和权限设置。 论文特别强调信息安全性的处理,在b s 结构中提出了比较有特点的身份验 证机制,即服务器s e s s i o n 与客户端c o o k i e s 相结合的身份验证,同时对验证数 据采用单向加密双向编码,保障用户信息的安全性。在c s 端强调如何实现在线 与离线状态下用户数据的更新,以及客户端应用程序与服务器的连接安全性保 证。 关键词:w e b 2 0 ,个人学习门户,b s 结构,c s 结构 a b s t i 认c t w i t ht h ei n t e r a c ta n dw e bt e c h n o l o g yd e v e l o p m e n t ,w e ba p p l i c a t i o n sh a v e b e c o m ei n c r e a s i n g l yw i d e s p r e a d i np a r t i c u l a r , a c c e s s i n gt ot h ei n t e m e te r ao fw e b 2 0 ,w e ba p p l i c a t i o nm a i n l yf o c u so nt h ei n d i v i d u a l sr a t h e rt h a nt h ec o n t e n t t h e n p e r s o n a ll e a r n i n gp o r t a ln o to n l yo f f e r sl e a r n e r sp e r s o n a l i t ya n ds o c i a li n f o r m a t i o n ,i t c a na l s os e r v ea sl e a m e r ss o c i a lr e l a t i o n s ,d a i l yl e a r n i n ga c t i v i t i e sa n do t h e rr e s o u r c e s a g g r e g a t i o n w i t ht h eh e l po fw e b2 0 ,w ef o rl e a r n e r sc r e a t eal e a r n i n gp o r t a l ,w h i c h c a nf u l l yr e f l e c tm o d e mn e t w o r kb e h a v i o r i ts u p p l i e st h el e a r n e r sw i t ha t e c h n o l o g y p l a t f o r mf o rh a n d l i n gi n f o r m a t i o n ,r e s o u r c e sa n dt h ed a y t o d a ya f f a i r s t h i sp a p e rf i r s td i s c u s s e st h ec h a r a c t e r i s t i c so fw e b2 0 ,a n db r i n g san e w p e r s o n a ll e a r n i n gp o r t a lp l a t f o r m t h i sp l a t f o r mi sb a s e do nt h eb s + c sm o d e , t h eu s eo fp h pa sb sp a r ts h o w , v i s u a lc + + a s c sp a r t l yd i s p l a yt e c h n o l o g y , t h e u s eo fm y s q ld a t a b a s es e r v e r s t h es y s t e mm a k e su s e r si nn e t w o r k i n ga n dn o n - s t a t e n e t w o r kc a nu s et h i sp o r t a l t h es y s t e m sm a i nf e a t u r e si n c l u d e :e - n o t e ,f a v o r i t e s , l e a r n i n gl o g s ,r s s ,p a g es t y l es e ta n ds oo n p a p e r sh i g h l i g h t ss a f e t yo ft h et r e a t m e n t , t h eb ss t r u c t u r eh a saa u t h e n t i c a t i o n m e c h a n i s m ,w h i c hi st h es e r v e rs e s s i o na n dc l i e n tc o o k i e sc o m b i n a t i o no f a u t h e n t i c a t i o na n dv e r i f i c a t i o no ft h ed a t a a n ds a m et i m e ,t h ed a t ah a v eb e e n e n c o d e d t h ec ss t r u c t u r ee m p h a s i z e dh o wt ou p d a t eo n l i n ea n do f f l i n eu s e rd a t a , a n dc l i e n ta p p l i c a t i o n sa n ds e r v e rc o n n e c t i v i t ys a f e t ya s s u r a n c e k e yw o r d s :w e b 2 0 ,p e r s o n a ll e a r n i n gp o r t a l ,b ss t r u c t u r e ,c ss t r u c t u r e 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得墨垄盘堂或其他教育机构的学位或证 ;而使用过的材誊。i 。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者躲碜研 签字隅加7 年7 月7 同 学位论文版权使用授权书 本学位论文作者完全了解叁盗盘堂有关保留、使用学位论文的规定。 特授权丕盗太堂可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向同家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名: 乖彳 导师签名:方伊弘勺 签字同期: 州年罗 月7 同 签字r 期:柳年7 月7 同 第一章引言 1 1 课题研究的背景 第一章引言 随着i n t e m e t 和w e b 技术的发展,w e b 应用系统在i n t e m e t 上的使用也起来越广 泛。w e b 应用不再是仅仅具有表单发布信息的简单功能,而且被要求具有实时动 态处理交互信息的能力。特别是互联网进入w e b2 0 时代,网站的建设与管理变 成了以用户为主,让用户自主的去编辑、收集、整理和发布信息。个人门户网站 j ,就是以个人为中心的上网入口,还可以进一步延伸为个人信息中心。 互联网实验室认为:w e b 2 0 不单纯是技术或者解决方案,w e b 2 0 是一套可 执行的理念体系,实践着网络社会化和个性化的理想,使个人成为真正意义的主 体,实现互联网生产方式的变革从而解放生产力,这个理念体系在不断发展完善 中,并且会越来越清晰。w e b 2 0 的核心是以个人为中心和以自组织为中心【2 1 。 现代教育技术理论认为在网络学习环境下,学生学习的自主性是一个突出的 特征。除了基于w e b 技术的“自主学习”环境为创建以“学”为中心的新型教 学模式提供了平台,为学习过程营造了必要的学习情境q 此时的在线学习方式 必然会由知识的单方推送变成用户主动选择。将来,要实现对相关信息自动提取 和摘要功能,自动从浩瀚的信息中创建自己的主题信息库。 因此,换一个角度来思量这个问题,在积极倡导主动学习、学会学习、终身 学习的今天,在网络应用环境从w e b l 0 发展到w e b 2 0 的背景下,学习者自己如 何营造个人网络学习f - j p 环境? 1 2 课题研究的意义和目的 在我们以往对网络学习环境【4 】理论与实践的研究,基本都是站在为学习者营 造学习环境这个角度上。但是,对于学习者自身如何理解这样的环境、以及用什 么样的行为方式应对这样的环境,也就是当前网络学习行为的研究比较少。通过 调查,目前网络学习的行为有各种方式,可能是有目的去搜索一段具体内容,可 能是略略浏览,也可能是参加回应互动讨论,还有可能是不断地积累管理自己所 需要的网站或资源等等,无法穷举,这跟现实生活实践、学术理论研究中对于“学 习”理解与讨论的多视角、多层次的一样。 第一章引言 因此,借助w e b 2 0 为学习者营造一种个人学习门户,可以充分体现现代网 络学习行为。它为学习者提供了处理信息、资源和日常事务的一个技术平台。在 这个平台上,学习者可以个性化自己的页面样式;可以自主参与定制内容:可以 管理个人的信息;还可以把部分内容设置成与他人共享,也可以把别人允许分享 的内容整合到自己的平台上。这个平台时时体现学习者主动参与和自主管理的行 为,真正体现了以用户为中心和从用户出发,吸引用户参与的作用。同时,它超 越了简单的媒介作用,改变了学习内容产生的方式,这也是本课题的研究目的所 在。 1 3 课题研究的内容 论文主要针对课题背景和意义中提出w e b 2 0 的理念,以其为指导思想,构 建一个更为人性化、社会化、更开放的个人学习门户。通过分析b s 和c s 体系 结构的特点,在此基础上提出了b s + c s 模式,并按照m v c 模型详细研究了基 于b s + c s 模式的w e b 2 0 应用的解决方案。 ( 1 ) 以个人为中心,自我参与性 以个人为中心,用户主动参与到互联网中,此时人人既是信息的阅读者,也 是信息的发布者、传播者、修改者。通过这种深度参与不但大大提高其积极性, 而且也使信息更为丰富。当然,个人之间并非是孤立,而是彼此相连。这就引发 第二个特征:自组织性。 ( 2 ) 以自组织为中心,信息共享性 以自组织为中心,个人之间、个人创造的内容之间、以及个人汇聚的群体之 问,都是以不同的白组织方式、架构起来。以组织的方式让人、群体、内容和应 用等充分“动”起来,大大加强了信息的流通速度,也提高了信息的共享程度。 第二章相关技术分析 第二章相关技术分析 根据“个人学习门户的需求分析,构造系统所采用体系结构和设计模式。 因此,本章主要介绍了c l i e n t s e r v e r 体系结构和b r o w s w e r s e r v e r 体系结构,并 将两者的特点进行分析和比较;同时介绍了m v c 模式的思想对系统所采用的体 系结构的具有的指导意义。 2 1 系统体系结构分析 软件开发体系结构主要经历了三个阶段【5 】:集中式的结构,客户机服务器结 构( c l i e n t s e r v e r ) ,浏览器服务器结构( b r o w s e r s e r v e r ) 。集中式结构属于全封 闭式系统,不同系统之间无法进行交流,信息共享能力差,而且系统扩展不方便, 已经不适应信息技术发展的需要。 2 1 1c l i e n t s e r v e r 体系结构 c l i e n t s e r v e r 体系结构】是把数据库内容放在远程的服务器上,而在客户机上 安装相应软件。c s 软件一般采用两层结构,其分布结构如图2 - 1 所示。它由两 部分构成:前端是客户机,即用户界面( c l i e n t ) 结合了表示与业务逻辑,接受用 户的请求,并向数据库服务提出请求,通常是一个p c 机;后端是服务器:即数 据管鸹a ( s e r v e r ) 将数据提交给客户端,客户端将数据进行计算并将结果呈现给用 户。还要提供完善的安全保护及对数据的完整性处理等操作,并允许多个客户同 时访问同一个数据库。在这种结构中,服务器的硬件必须具有足够的处理能力, 这样才能满足各客户的要求。 图2 1c s 两层体系结构 c s 结构在技术上很成熟,它的主要特点是交互性强、具有安全的存取模式、 网络通信量低、响应速度快、利于处理大量数据。但是该结构的程序是针对性开 发,变更不够灵活,维护和管理的难度较大。通常只局限于小型局域网,不利于 扩展。并且,由于该结构的每台客户机都需要安装相应的客户端程序,分布功能 第二章相关技术分析 弱且兼容性差,不能实现快速部署安装和配置,因此缺少通用性,具有较大的局 限性。要求具有一定专业水准的技术人员去完成。 由于c l i e n t s e r v e r 结构被设计成两层模式,显示逻辑和事务处理逻辑部分均 被放在客户端,数据处理逻辑和数据库放在服务器端,从而使客户端变得很”胖”, 成为胖客户机,相对服务器端的任务较轻,成为瘦服务器。 2 1 2b r o w s w c r s c r v c r 体系结构 本质上,b r o w s e r s e r v e r 也是一种c l i e n t s e r v e r 结构,它是一种由传统的二 层c l i e n t s e r v e r 结构发展而来的三层c l i e n t s e r v e r 结构在w e b 上应用的特例。 在b r o w s e r s e r v e r 的系统中,用户可以通过浏览器向分布在网络上的许多服 务器发出请求。b r o w s e r s e r v e r 结构极大的简化了客户机的工作,客户机上只需 安装、配置少量的客户端软件即可,服务器将担负更多的工作,对数据库的访问 和应用程序的执行将在服务器上完成【7 8 】。 在b s 体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出 请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。b s 结 构简化了客户机的工作,客户机上只需配置少量的客户端软件。服务器将担负更 多的工作,对数据库的访问和应用程序的执行将在服务器上完成。浏览器发出请 求,而其余如数据请求、加工、结果返回以及动态网页生成等工作全部由w e b s e r v e r 完成。实际上b s 体系结构是把二层c s 结构的事务处理逻辑模块从客户 机的任务中分离出来,由w e b 服务器单独组成一层来负担其任务,这样客户机 的压力减轻了,把负荷分配给了w e b 服务器。三层体系结构结构模式见图2 2 。 g b 图2 2b s 三层体系结构 由于客户机把事务处理逻辑部分分给了功能服务器,使客户机一下子”苗条” 第二章相关技术分析 了许多,不再负责处理复杂计算和数据访问等关键事务,只负责显示部分。这种 三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。 b s 结构的主要特点是分布性强、维护方便、开发简单且共享性强、总体拥 有成本低f 引。但数据安全性问题、对服务器要求过高、数据传输速度慢、软件的 个性化特点明显降低,这些缺点是有目共睹的,难以实现传统模式下的特殊功能 要求。例如通过浏览器进行大量的数据输入或进行报表的应答、专用性打印输出 都比较困难和不便。此外,实现复杂的应用构造有较大的困难。虽然可以用 a c t i v e x 、j a v a 等技术开发较为复杂的应用,但是相对于发展已非常成熟c s 的一 系列应用工具来说,这些技术的开发复杂,并没有完全成熟的技术工具供使用。 2 1 3c l i e n t s e r v e r 结构与b r o w s e r s e r v e r 结构比较f l o j 1 硬件环境不同 c s 建立在局域网的基础上,通过专门服务器提供连接和数据交换服务。所 处理的用户不仅固定,并且处于相同区域,要求拥有相同的操作系统。b s 建立 在广域网的基础上,信息自己管理,有比c s 更强的适应范围,一般只要有操作 系统和浏览器就行,与操作系统平台关系最小。 2 结构不同 c s 软件一般采用两层结构,而b s 采用三层结构: 这两种结构的不同点是两层结构中客户端参与运算,而三层结构中客户端并 不参与运算,只是简单地接收用户的请求,显示最后的结果。由于三层结构中的 客户端并不需要参与计算,所以对客户端的计算机电脑配置要求较低。虽然b s 采用了逻辑上的三层结构,但在物理上的网络结构仍然是原来的以太网或环形 网。这样,第一层与第二层结构之间的通信、第二层与第三层结构之问的通信都 需占用同一条网络线路,网络通信量大。而c s 只有两层结构,网络通信量只包 括c l i e n t 与s e r v e r 之间的通信量,网络通信量低。所以,c s 处理大量信息的能 力是b s 无法比拟的。 3 处理模式不同 b s 的处理模式与c s 相比,大大简化了客户端,只要装上操作系统、网络 协议软件以及浏览器即可,这时的客户机成为瘦客户机,而服务器则集中了所有 的应用逻辑。 第二章相关技术分析 4 构件重用不同 在构件的重用性方面,c s 程序从整体进行考虑,具有较低的重用性。而 b s 对应的是多重结构,要求构件具有相对独立的功能,具有较好的重用性。 5 系统维护不同 系统维护是在软件生存周期中开销最大的一部分。c s 程序由于其本身的整 体性,必须整体考察并处理出现的问题。而b s 结构,客户端不必安装及维护。 b s 结构在构件组成方面只变更个别构件,开发、维护等工作都集中在服务器端。 当需要升级时,只需更新服务器端的软件,而不必更换客户端软件,实现系统的 无缝升级。这样就减轻了系统维护与升级的成本和工作量,使用户的总体拥有成 本( t c o ) 大大降低。 6 对安全的要求不同 由于c s 采用配对的点对点的结构模式,并采用适用于局域网、安全性比较 好的网络协议,安全性可得到较好的保证。c s 一般面向相对固定的用户群,程 序更加注重流程,它可以对权限进行多层次校验,提供了更安全的存取模式,对 信息安全的控制能力很强。一般高度机密的信息系统采用c s 结构适宜。而b s 采用点对多点、多点对多点这种开放的结构模式,并采用t c p i p 这一类运用于 i n t c r n e t 的开放性协议,其安全性只能靠数据服务器上管理密码的数据库来保证。 所以b s 对安全以及访问速度比c s 有更高的要求。而i n t e r a c t 技术中这些关键 的安全问题远未解决。 7 速度不同 由于c s 在逻辑结构上比b s 少一层,对于相同的任务,c s 完成的速度总 比b s 快。使得c s 更利于处理大量数据。 8 交互性与信息流不同 交互性强是c s 固有的一个优点。在c s 中,客户端有一套完整的应用程序, 在出错提示、在线帮助等方面都有强大的功能,并且可以在子程序问自由切换。 b s 虽然由脚本提供了一定的交互能力,但与c s 的一整套客户应用相比是太有 限了。c s 的信息流单一,而b s 可处理如b b 、b c 、b g 等信息并具有流向 的变化。 第二章相关技术分析 2 2 系统设计模式分析 2 2 1 设计模式概述 在面向对象系统的设计中,类及其生成的对象是构成面向对象系统的最基本 元;采用设计方法将这些元素结合起来,构建出面向对象系统的构件。同时,这 些构件的设计方法在经过不断的改进和完善后逐渐成型,成为构成面向对象系统 的基本设计参考,也称为设计模式( d e s i g np a t t e r n ) 1 1 , 1 2 。使用设计模式是为了 可重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式使人们可以 更加简单方便地复用成功的设计和体系结构。将已证实的技术表述成设计模式也 会使新系统开发者更加容易理解其设计思路。 一般情况下,一个设计模式有以下四个基本要素: 1 模式名称( p a t t e r nn a m e ) 一个助记名,它用一两个词来描述模式的问题、解决方案和效果。命名一 个新的模式增加了我们的设计词汇。设计模式允许我们在较高的抽象层次上进行 设计。基于一个模式词汇表,我们自己以及同事之间就可以讨论模式并在编写文 档时使用它们。模式名可以帮助我们思考,便于我们与其他人交流设计思想及设 计结果。找到恰当的模式名也是我们设计模式编目工作的难点之一。 2 问题( p r o b l e m ) 描述了应该在何时使用模式。它解释了设计问题和问题存在的前因后果, 它可能描述了特定的设计问题,如怎样用对象表示算法等。也可能描述了导致不 灵活设计的类或对象结构。有时候,问题部分会包括使用模式必须满足的一系列 先决条件。 3 解决方案( s o l u t i o n ) 描述了设计的组成成分,它们之间的相互关系及各自的职责和协作方式。因 为模式就像一个模板,可应用于多种不同场合,所以解决方案并不描述一个特定 而具体的设计或实现,而是提供设计问题的抽象描述和怎样用一个具有一般意 义的元素组合( 类或对象组合) 来解决这个问题。 4 效果( c o n s e q u e n c e s ) 描述了模式应用的效果及使用模式应权衡的问题。尽管我们描述设计决策 时,并不总提到模式效果,但它们对于评价设计选择和理解使用模式的代价及好 第二章相关技术分析 处具有重要意义。软件效果大多关注对时间和空间的衡量,它们也表述了语言 一和实现问题。因为复用是面向对象设计的要素之一,所以模式效果包括它对系统 的灵活性、扩充性或可移植性的影响,显式地列出这些效果对理解和评价这些 模式很有帮助。 目前,标准的设计模式有二十几种。我们可以单独或组合使用这些设计模式, 也可以创建新的设计模式,由于设计模式在对象的粒度和抽象层次上不同,按照 不同的应用原则,可以将标准设计分为在类:创建型设计模式( c r e a t i o n a l p a t t e r n s ) 、结构型设计模式( s t r u c t u r a lp a t t o n , s ) 和行为型设计模式( b e h a v i o r a l p a t t e r n s ) 。 2 2 2m v c 模式 m v c 模式属于结构型设计模式,由t r y g v er e e n s k a u g 提出,即将类和和对 象进行组合而获得更为合理的结构,它是为那些需要为同样的数据提供多个视图 的应用程序而设计的。 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 模式的目的就是实现w e b 系统的职能分 工。利用m v c 设计模型进行w e b 应用开发,可以将模型、视图和控制分离,建构 可复用的系统框架,进而提高软件的可维护性。m v c 模式关系如图2 - 3 1 1 3 1 4 。 图2 3m v c 模式关系图 模型( m o d e l ) :模型表示一个应用系统的数据并且包含访问和管理该数据的 逻辑。所有属于应用系统持久状态的数据都应该保存于模型的对象里。模型提供 的服务必须足够普遍适用于不同的终端。一个模型聚集了相关的数据和操作以提 第二章相关技术分析 供一个详细而精确的服务;这些包装并抽象在操作中的事物功能被模型化。一个 模型的接口提供了访问和更新模型状态的、执行封装在模型中的复杂进程的方 法。模型服务被控制器访问,用于查询或使模型的状态发生变化。当状态发生变 化时,模型会通报给视图1 ”】。 视图( v i e w ) :视图的责任是表现模型的状态,向用户呈现信息。不同的视图 用不同的方法呈现模型的信息,因此模型数据可以适合多种不同的终端,视图会 随着模型中出现的变化而改变。 控相j ( c o n t r o l l e r ) :控制器的任务一方面是接收并翻译用户的请求交由模型执 行,另一方面根据执行结果调用适当的视图给用户提供反馈。控制器设计必须适 合各种不同类型终端的输入,包括来自w e b 终端的h 1 r p 请求,无线终端的 w m l ,供应商与业务伙伴的基于x m l 的文档等。因此,一个模型可能对应多 个视图,一个视图可能对应多个模型。 2 2 3m v c 的特点 m v c 设计模式能够带来更好的软件结构和代码重用,它使得大量基于w e b 的应用系统开发过程变得简单,体系结构要合理,开放,开发周期明显缩短,同 时提高了系统组件的重用性。 总结,m v c 模式有如下特点: ( i ) 允许多用户视图扩展:模式与视图和控制器组件的分离将允许同一个 模型的多个视图。在m v c 模式中视图与模型没有直接的联系,都通过控制器产 生关系,如果要增加新类型的用户视图,只需要改动响应的视图和控制器,而无 需让模型进行改动。 ( 2 ) 模型的可移植性:模型是独立于视图的,当把一个模型独立地移植到 新的平台时,只需要在新平台上对视图和控制器进行相应的修改。 ( 3 ) 代码重用、易于维护:一个模型对应多个视图,可以通过修改模型, 达到数据或功能的更新的效果。另外,由于模型返回的数据不带任何显示格式, 因而这些模型也可直接应用于接口的使用。 2 3 系统开发平台选择 2 - 3 1p h p 简介 第二章相关技术分析 p h p ,一个嵌套的缩写名称,是英文超级文本预处理语言( p h p :h y p e r t e x t p r e p r o c e s s o r ) 的缩写【】6 1 。p h p 是一种h t m l 内嵌式的语言,p h p 与微软的a s p 颇 有几分相似,都是一种在服务器端执行的嵌入h t m l 文档的脚本语言,语言的风 格有类似于c 语言,现在被很多的网站编程人员广泛的运用。 p h p 最初是1 9 9 4 年r a s m u sl e r d o r f 仓l j 建的,刚刚开始只是一个简单的用p e r l 语言编写的程序,用来统计他自己网站的访问者。后来又用c 语言重新编写, 6 包括可以访问数据库。在1 9 9 5 年以p e r s o n a lh o m ep a g et o o l s ( p h pt o o l s ) 开始 对外发表第一个版本,l e r d o r f 写了一些介绍此程序的文档,并且发布了p h p l 0 。 在这早期的版本中,提供了访客留言本、访客计数器等简单的功能。以后越来越 多的网站使用了p h p ,并且强烈要且增加一些特性,比如循环语句和数组变量等 等,在新的成员加入开发行列之后,在1 9 9 5 年中,p h p 2 0 发布了。第二版定名 为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 在动态网页开发上的地位。到了1 9 9 6 年底,有1 5 0 0 0 个网站使用p h p f i ;时间 到了1 9 9 7 年中,使用p h p f i 的网站数字超过五万个。而在1 9 9 7 年中,开始了 第三版的开发计划,开发小组加入了z e e vs u r a s k i 及a n d ig u t m a n s ,而第三版 就定名为p h p 3 。2 0 0 0 年,p h p 4 0 又问世了,其中增加了许多新的特性。 2 3 2p h p 的应用领域 p h p 主要是用于服务端的脚本程序,因此可以用p h p 来完成任何其它的 c g i 程序能够完成的工作,例如收集表单数据,生成动态网页,或者发送接 收c o o k i e s 。但p h p 的功能远不局限于此。p h p 脚本主要用于以下三个领域: ( 1 ) 服务端脚本。这是p h p 最传统,也是最主要的目标领域。开展这项工 作需要具备以下三点:p h p 解析器( c g i 或者服务器模块) 、w e b 服务器和w e b 浏览器。需要在运行w e b 服务器时,安装并配置p h p ,然后,可以用w e b 浏 览器来访问p h p 程序的输出,即浏览服务端的p h p 页面。如果只是实验p h p 编程,所有的这些都可以运行在自己家里的电脑中。请查阅安装一章以获取更多 信息。 ( 2 ) 命令行脚本。可以编写一段p h p 脚本,并且不需要任何服务器或者 浏览器来运行它。通过这种方式,仅仅只需要p h p 解析器来执行。这种用法对 于依赖c r o n ( u n i x 或者l i n u x 环境) 或者t a s ks c h e d u l e r ( w i n d o w s 环境) 的 第二章相关技术分析 日常运行的脚本来说是理想的选择。这些脚本也可以用来处理简单的文本。请参 阅p h p 的命令行模式以获取更多信息。 ( 3 ) 编写桌面应用程序。对于有着图形界面的桌面应用程序来说,p h p 或 许不是一种最好的语言,但是如果用户非常精通p h p ,并且希望在客户端应用 程序中使用p h p 的一些高级特性,可以利用p h p g t k 来编写这些程序。用这 种方法,还可以编写跨平台的应用程序。p h p g t k 是p h p 的一个扩展,在通 常发布的p h p 包中并不包含它。如果对p h p g t k 感兴趣,请访问其网站以获 取更多信息。 2 3 3p h p 的特点 p h p 独特的语法混合了c 、j a v a 、p e r l 以及p h p 自创新的语法。它可以 比c g i 或者p e r l 更快速的执行动态网页。用p h p 做出的动态页面与其他的编 程语言相比,p h p 是将程序嵌入到h t m l 文档中去执行,执行效率比完全生成 h t m l 标记的c g i 要高许多;与同样是嵌a h t m l 文档的脚本语言j a v a s c r i p t 相比, p h p 在服务器端执行,成分利用了服务器的性能;p h p 执行引擎还会将用户经常 访问的p h p 程序驻留在内存中,其他用户在一次访问这个程序时就不需要诚信编 译程序了,只要直接执行内存中的代码就可以了,这也是p h p 高效率的体现之一。 除此之外,p h p 是秉承l i n u x 的g n u 风格,借助与源码公开,使他迅速成为世界 上目前应用最为广泛的站点制作语言之一,p 肿所具有特性如下 1 7 a 8 : ( 1 ) 开放性 p h p 的源代码完全公开,任何程序员为p h p 扩展附加功能非常容易。 ( 2 ) 跨平台性 用p h p 编写的代码执行起来会更快,并且不用修改可以在不同的w e b 服务 器上、不同的操作系统下运行。它能够用在所有的主流操作系统上,包括l i n u x 、 u n i x 的各种变种、m i c r o s o f tw i n d o w s 、m a c0 sx 、刚s co s 等。今天,p h p 已经支持了大多数的w e b 服务器,包括a p a c h e 、m i c r o s o f ti n t e m e ti n f o r m a t i o n s e r v e r ( i s ) 、p e r s o n a lw e bs e r v e r ( p w s ) 、n e t s c a p e 以及i p l a n ts e r v e r 、o r e i l l y w e b s i t ep r os e r v e r 、c a u d i u m 、x i t a m i 、o i 彻i h 盯p d 等。对于大多数的服务器, p h p 提供了一个模块;还有一些p h p 支持c g i 标准,使得p h p 能够作为 c g i 处理器来工作。 第二章相关技术分析 ( 3 ) 数据库支持广泛性 p h p 最强大最显著的特性之一,是它支持很大范围的数据库。用户会发现 利用p h p 编写数据库支持的网页简单得难以置信。同时还有一个d b x 扩展库 使得可以自由地使用该扩展库支持的任何数据库。另外,p h p 还支持o d b c , 即o p e nd a t a b a s ec o n n e c t i o ns t a n d a r d ( 开放数据库连接标准) ,因此可以连接任 何其它支持该世界标准的数据库。 p h p 可以编译成具有与许多数据库相连接的函数。p h p 与m y s q l 是现在绝 佳的组合。你还可以自己编写外围的函数取问接存取数据库。通过这样的途径当 你更换使用的数据库时,可以轻松的更改编码以适应这样的变化。p h p l i b 就是 最常用的可以提供一般事务需要的一系列基库。 ( 4 ) 可扩展性 使用p h p ,并不局限于输出h t m l 。p h p 还能被用来动态输出图像、p d f 文件甚至f l a s h 动画( 使用l i b s w f 和m i n g ) 。p h p 具有极其有效的文本处理特 性j 支持从p o s i x 扩展或者p e d 正则表达式到x m l 文档解析。 ( 5 ) 面向对象编程 p i - i p 提供了类和对象。基于w e b 的编程工作非常需要面向对象编程能力。 p h p 支持构造器、提取类等。 ( 6 ) 可伸缩性 传统上网页的交互作用是通过c g i 来实现的。c g i 程序的伸缩性不很理想, 因为它为每一个正在运行的c g i 程序开一个独立进程。解决方法就是将经常用 来编写c g i 程序的语言的解释器编译进你的w e b 服务器。p h p 就可以以这种方 式安装,虽然很少有人愿意这样以c g i 方式安装它。内嵌的p h p 可以具有更高 的可伸缩性 p h p 还支持利用诸如l d a p 、i m a p 、s n m p 、n n t p 、p o p 3 、h t t p 、c o m ( w i n d o w s 环境) 等不计其数的协议的服务。还可以开放原始网络端口,使得 任何其它的协议能够协同工作。p h p 支持和所有w e b 开发语言之间的w d d x 复杂数据交换。关于相互连接,p h p 已经支持了对j a v a 对象的即时连接,并且 可以将他们自由的用作p h p 对象。甚至可以用我们的c o r b a 扩展库来访问 远程对象。因此,p i - i p 可以开发各种跨平台的w e b 应用。 第二章相关技术分析 2 4 数据库开发工具平台简介 m y s q l 是最流行的开放源码s q l 数据库管理系统,它是i 扫m y s q l a b 公司开 发、发布并支持的。m y s q l 是一个真正的多用户、多线程s q l 数据库服务器。 它是以一个客户机服务器结构的实现,它由一个服务器守护程序m y s q l d 和很多 不同的客户程序和库组成 1 9 2 0 】。 它功能强大、使用灵活、应用编程接口( a p i ) 丰富以及系统结构精巧,特 别是与a p a c h e 和p h p 结合,能够建立基于数据库的动态网站。m y s q l 的主要 特征表现在: 1 内部构件和可移植性方面 ( 1 ) m y s q l 可以使用c 和c + + 编写,用众多不同的编译器进行了测试, 能够工作在众多不同的平台上。 ( 2 ) 使用g n ua u t o m a k e 、a u t o c o n f 和l i b t o o l 进行移植。 ( 3 ) 提供了用于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 、r u b y 和t e l 的a p i 。 ( 4 ) 采用核心线程的完全多线程如果有多个c p u ,它能方便地使用这些 c p u 。 ( 5 ) 提供了事务性和非事务性存储引擎。 ( 6 ) 使用了极快的“b 树”磁盘表( m y l s a m ) 和索引压缩。 ( 7 ) 添加另一个存储引擎相对简单。如果打算为内部数据库添加一个s q l 接口,该特性十分有用。 ( 8 ) 极快的基于线程的内存分配系统。 ( 9 ) 通过使用优化的“单扫描多连接”,能实现极快的连接。 ( 1 0 ) 存储器中的哈希表用作临时表。 ( 1 1 ) s q l 函数是使用高度优化的类库实现的,运行很快。通常,在完成 查询初始化后,不存在存储器分配。 ( 1 2 ) 采用a a d f y ( 商业内存溢出检测器) 以及g p l 工具v a l g r i n d 测试了 m y s q l 代码。 ( 1 3 ) 服务器可作为单独程序运行在客户端服务器联网环境下。它也可作 为库提供,可嵌入( 链接) 到独立的应用程序中。这类应用程序可单独使用,也 第二章相关技术分析 能在网络环境下使用。 2 列类型方面 ( 1 ) 支持众多列类型:带符号无符号整数,1 、2 、3 、4 、8 字节长,f l o a t , d o u b l e ,c h a r ,v a r c h a r ,t e x t ,b l o b ,d a t e ,t i m e ,d a t e t i m e , t i m e s t a m p ,y e a r ,s e t ,e n u m ,以及o p e n g i s 空问类型。 ( 2 ) 支持定长和可变长度记录。 3 语句和函数方面 ( 1 ) 在s e l e c t 和查询的w h e r e 子句中,提供完整的操作符和函数支持。 ( 2 ) 对s q lg r o u pb y 和o r d e rb y 子句的全面支持。支持聚合函数 ( c o u n t o ,c o u n t ( d i s t i n c t ) ,a v g o ,s t d 0 ,s u m 0 ,m a x ( ) ,m i n 0 和 g r o u p _ c o n c a t 0 ) 。 ( 3 ) 支持l e f t o u t e rj o i n 和r i g h t o u t e rj o i n ,采用标准的s q l 和 o d b c 语法。 ( 4 ) 按照标准s q l 的要求,支持表别名和列别名。 ( 5 ) d e l e t e 、i n s e r t 、r e p l a c e 和u p d a t e 返回更改( 影响) 的行数。 连接到服务器时,可通过设置标志返回匹配的行数。 ( 6 ) m y s q l 的s h o w 命令可用于检索关于数据库、数据库引擎、表和索 引的信息。e x p l a i n 命令可用于确定优化器处理查询的方式。 ( 7 ) 函数名与表名或列名不冲突。例如,a b s 是有效的列名。唯一的限制 在于,调用函数时,函数名和随后的符号“( ”之间不得有空格。 ( 8 ) 可以将不同数据库的表混合在相同的查询中 4 安全性方面 十分灵活和安全的权限和密码系统,允许基于主机的验证。连接到服务器时, 所有的密码传输均采用加密形式,从而保证了密码安全。 5 可伸缩性和限制 ( 1 ) 处理大型数据库: 我们使用了m y s q l 服务器和含5 千万条记录的数 据库。我们还听说,有些用户将m y s q l 用于含6 0 0 0 0 个表和约5 0 亿行的数据 库。 ( 2 ) 每个表可支持高达6 4 条索引( 在m y s q l4 1 2 之前为3 2 条) 。每条索 引可由1 1 6 个列或列元素组成。最大索引宽度为1 0 0 0 字节( 在m y s q l4 1 2 第二章相关技术分析 之前为5 0 0 ) 。索引可使用具备c h a r 、v a r c h a r 、b l o b 或t e x t 列类型的列 前缀。 6 连接性方面 在任何平台上,客户端可使用t c p i p 协议连接到m y s q l 服务器。在 w i n d o w s 系统的n t 系列中( n t 、2 0 0 0 、x p 或2 0 0 3 ) ,客户端可使用命名管道 进行连接。在u n i x 系统中,客户端可使用u n i x 域套接字文件建立连接。 在m y s q l4 1 和更高的版本中,如果是以 - - s h a r e d m e m o r y ”选项开始, w i n d o w s 服务器还支持共享内存连接。客户端可使用 - - p r o t o c o l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园教师信息技术整合能力-基于2024年教师技术整合调查
- 病原生物学与免疫学
- 福建省龙岩市2025-2026学年高二下学期4月期中联考数学试卷
- 2025年新闻记者职业资格考试(新闻基础知识)复习题库含答案兴安
- 高校实验室危险化学品安全管理制度
- 2025-2030年商用洗碗机行业跨境出海战略分析研究报告
- 酒精醋行业全方位发展战略选择与路径规划分析报告
- 新形势下明矾石膨胀水泥行业顺势崛起战略制定与实施分析报告
- 2025-2030年新中式面馆行业跨境出海战略分析研究报告
- 2025-2030年泥铲及移植器行业跨境出海战略分析研究报告
- 第十二章疾病的分子生物学
- 安庆石化110kV输变电工程 环评报告表
- 软件企业专项审计报告范本
- mh fg2000ab普通说明书使用服务及配件手册
- 河北村铅锌矿矿产资源开采与生态修复方案
- 英语牛津3000词汇表
- 初中数学优质课比赛省级一等奖《正方形》PPT精品课件
- JB-T 8723-2022 焊接金属波纹管机械密封
- GB/T 1962.1-2015注射器、注射针及其他医疗器械6%(鲁尔)圆锥接头第1部分:通用要求
- 2023年安徽农商银行审计资格考试模拟试卷
- 《版画》(黑白画)教学大纲
评论
0/150
提交评论