(电力系统及其自动化专业论文)基于web的内容管理系统的研究与开发.pdf_第1页
(电力系统及其自动化专业论文)基于web的内容管理系统的研究与开发.pdf_第2页
(电力系统及其自动化专业论文)基于web的内容管理系统的研究与开发.pdf_第3页
(电力系统及其自动化专业论文)基于web的内容管理系统的研究与开发.pdf_第4页
(电力系统及其自动化专业论文)基于web的内容管理系统的研究与开发.pdf_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

华北电力大学 ( 北京)硕士学位论文 第一章绪论 1 . 1引言 中国实施政府上网工程以来,电子政务的内网和外网建设成为政府上网工程的 热点。企业也开始建立网站用以实现企业信息化、电子商务、宣传企业形象等。目 前国内政界和商界的信息化发展很快,但同时也存在着一些问题,国内约有 1 / 3的 网站难以打开,约有 1 / 3的网站应用价值比较低,还有相当数量的网站存在网站建 设困难、 信息更新不及时、 服务功能不健全、 发布的信息无时效价值等现象。 例如: 根据需要突然想增加个栏 目,可是却需要美工人员来设计,专业人员来编码,整个 过程相当的复杂; 只是想修改一下栏目的名称,就改两个字,居然花了一天时间, 甚至需要专业人员修改;维护网站,不得不聘了 n 位网页制作人员,网站的维护成 本太高;当你管理着外网或者内网时,栏目一个个增加,需要发布的信息越来越多 时,发现让网站的内容保持更新成为一件棘手的事情。等等这些问题的存在对网站 的发展造成了制约。采用网站内容管理系统就能很好的解决上述问题,它是一个很 好的管理平台和发布平台,提供直接的接口给管理或业务人员:其通过对机构中各 种类型的数字资产的产生、管理、增值和再利用,增加了内容的价值,快速廉价的 内容更新,并提高准确度,降低信息获取的开销。为技术创新提供支持,改善组织 的运行效率和提高企业的竞争能力。 内容管理由两部分组成,“ 内容”强调对象,“ 管理” 强调方法。什么是内容, 内容是任何类型的数字信息的结合体,可以是文本、图形图像、we b 页面、业务文 档、数据库表单、视频、声音文件等。应该说,内容是一个比数据、文档和信息更 广的概念,是对各种结构化数据、非结构化文档、信息的聚合,这在某种程度上也 包含了知识。什么是管理?管理就是施加在, 内容“ 对象上的一系列处理过程,包括 收集、确认、批准、整理、定位、转换、分发、更新、存档等,目的是为了使“ 内 容能 够在正确的时间、以正确的形式传递到正确的地点和人。 内容管理可以定义为:协助组织和个人,借助信息技术,实现内容的创建、储 存、分享、应用、更新,并在企业个人、组织、业务、战略等诸方面产生价值的过 程。而内容管理系统就是能够支撑内容管理的一种工具或一套工具的组合。 网站内容管理系统不仅是一种可以建设网站,管理网络资源的工具,更是一种 高效的信息发布系统。 1 . 2开发内容管理系统的重要意义 i n t e r n e t 的快速发展,内容管理已经成为所有we b 应用的基础。从电子政府、 华北电力大学 ( 北京)硕士学位论文 企业信息化、综合性网站,到垂直门户、 所有的电子商务应用, 是用户核心的需求。 围绕内容的采集 、 数字图书馆 创建、存储 远程教育、远程医疗,乃至 管理、发布、检索和服务都 提高内容管理的效率和质量至少可以从以下几个方面带来收 益: 1 、用户需要能够方便地搭建网站、增加栏目、修改栏目的属性或者决定发布的内 容,以及方便的管理系统的信息。 2 、用户己经习惯于从企业的网站上了解最新的产品和服务信息。保证网站上信息 的即时更新是企业进行市场工作的必要组成部分。 3 、用户逐渐地产生个性化内容的需求,特别是企业面向大量的顾客时,用户希望 看到的内容是经过定制的,动态地进行个性化的。 4 、企业越来越依赖于 i n t e rne t ,良 好的内容管理流程对于提高生产率起到重要作 用。企业再也不用一而再、再而三地在电话服务里向顾客解释一个技术问题, 而只需要简单地放置到网站上即可。 5 、市场部门需要即时地在线开展市场活动,以应对企业快速推出的新产品或新版 本。对市场的反应迟钝带来的后果是失去市场份额,当然也失去金钱。 6 、错误的信息对于客户关系是致命的打击,不可想象顾客可以忍受因为错误的操 作指导引起经济上的损失。 7 、雇佣庞大的we b维护队伍,对于企业是一笔不必要的开支。 而使用内容管理系统可以 使得内容制作人员高效的从他们熟悉的 wi n d o w s桌 面环境向网站创建和发布内容。网站结构管理和模板技术,可以提高效率,通过降 低长期维护成本降低投资总成本,对不断变化的客户需求和竞争威胁做出反应。 1 . 3内容管理系统的国内外现状及课题的提出 目前,无论在国内还是在国外,内容管理产品都正处于开发应用的黄金时期。 根据 me t a集团的报告, 在全球 2 0 0 0 强公司中, 采用网站内容管理的企业在 2 0 0 2 年第一季度就达到了6 0 %,到了2 0 0 4年底,预计全球内容管理市场将超过 1 0 0亿 美元,采用网站内容管理系统的全球 2 0 0 0强企业将占到 9 0 %. i d c公司则认为, 网站内容管理市场将以年均4 4 %的速度增长, 到2 0 0 6 年将达到2 4 0 亿美元的规模。 在国外,内容管理产品市场主要由四大提供商把持。 据 f o r r e s t e r r e s e a r c h公司 2 0 0 1 年对北美地区8 7 4 位高级主管的调查表明, i n t e r w o v e n 公司的企业内容管理解 决方案以2 8 % 的 应用比 例遥遥领先,之后的是 v i g n e t t e公司,占 据 1 6 % 的份额, d o c u m e n t u m 公司占据 1 5 % 份额。微软公司在 2 0 0 1年 5月份购买了加拿大企业 n c o m p a s s l a b s 之后获得了该公司的r e s o l u t i o n 软件产品,并更名为m i c r s o f t 内 容 管理系统,该系统占据 1 4 %的市场份额。 一2 一 华北电力大学 ( 北京)硕士学位论文 对于国内市场来讲,这些厂商固然在内容管理的影响力、技术、资金等方面具 有一定优势,但他们的产品面向的应用规模较大、功能大而全、价格昂贵、技术应 用难度高、不支持中文等问题是制约它们目前在中国快速发展的原因。因为中文内 容管理技术和市场与国外相比,具有一些特殊性: 1 、语言处理问题:这些内容管理产品都来自国外厂商,在内容的理解、检索和表 示方面,都以英语为主要语言,这对国内绝大多数用户来说是无法接受的。 2 、工作流程问题:受到中国国情的限制,国内无论在政府机构还是企业,其工作 流程还没有完全实现国际接轨,和国外仍存在巨大的差别。这使得他们对内容 管理系统在流程控制上的要求也与国外不同。 3 、成本问题:这些产品的价格都相当高,以微软的内容管理系统为例,其售价高 达每个处理器4 2 , 9 9 9 美元。而且内容管理实施的成本在国外也都要在一年后 刁能完全收回并产生效益,加上服务的费用,对于国内用户来说,特别是中小 企业来说,这是一个巨大的投资和风险。 随着国内信息产业的发展,内容管理越来越受到政府和企业的重视。在 2 0 0 3 年北京市政府采用内容管理产品建设北京市政府, 之后云南、陕西等省份也开始进 行电子政务的建设。在企业方面,联想集团、海尔集团等国内大型企业也纷纷展开 企业网站内容管理的建设。目前,国内的内容管理产品市场却远未发育成熟。大部 分的内容管理提供商是在原来的办公软件提供商的基础上发展起来的,产品的质 量、功能和性能与国外相比仍有巨大的差距。 基于国内外的发展现状,以及内容管理系统的重要作用, 我们开发了内容管理 系统,为内容的管理者提供一个方便高效的管理和发布平台,极大的提高内容的价 值。 1 . 4本文研究的内容及所作的工作 在四方雅龙公司实习期间,做了大量基础性的工作,为以后的开发奠定了良好 的基础。做课题期间,在中科辅龙公司做了近一年的实习,主要工作是内容管理系 统的开发和研究,深入地学习了j a v a 相关技术,建模知识, 设计模式, 在实践的基 础上对理论知识进行了深刻的理解和运用。 基于内容管理系统在网站建设中发挥的 重大作用和现实意义, 本文对内容管理系统做了较全面系统的研究,本课题的主要 内容如下: 1 .内容管理系统的需求分析和功能设计 通过对网站建设和管理的长期深入调研和的分析,确定了用户的需求,并结合 多年来公司的建设大型网站的成功经验,在此基础上进行了需求分析和功能设 计,并采用建模工具r o s e 完成了系统分析 一3 一 华北电力人学 ( 北京)硕十学位论文 z 、研究开发内容管理系统的理论依据和方案 如何去实现系统的功能,采用什么技术达到系统的先进性和稳定性,通过综合 分析给出一个具体可行的方案 3 、给出内容管理系统的设计和实现过程,详细的描述了一个权限管理模块的实现 4 、内容管理系统关键技术难点,并给出具体的解决方法 5 、从整体上实现了网站内容管理系统功能,并投入了实施和运行 一a 一 华北电力大学 ( 北京)硕士学位论文 第二章系统的理论基础 本系统的开发采用了b / s ( b r o w s e / s e r v e r浏览器/ 服务器) 模式, 基于先进的j 2 e e 跨平台体系,利用面向对象的理论技术和组件的思想,采用j s p +j a v a b e a n为主 要的开发技术,使用 j b u i l d e r 和 d r e a m w e a v e r 为主要的开发工具,完成整体的系统 开发。下面介绍用到的相关技术。 2 . 1 浏览器/ 服务器模式概述 基于内容管理系统的特性,达到方便的管理和发布,本系统的开发采用了 b / s 结构,所有的工作都能通过网络完成,简单易用。 一采用b / s 开发的优势 当前软件开发基于两种架构的开发 c / s ( c l i e n t / s e r v e r 、 客户端1 服务器) 和 b / s o c / s是指在服务器上安装服务器软件,同时,在客户机上安装相应的客户端,使客 户端得到相应的服务。客户端应用程序不仅要提供图形化的接口,与客户进行人机 交互,同时还肩负着数据处理、逻辑运算和商业规则处理等任务,显然加重了客户 端应用程序的负担。此外,c/ s结构的致命弱点是:如果商业规则、逻辑运算或 者数据处理等发生变化时,原有的客户端应用程序必须重新编译成可执行文件,重 新安装到每个客户的计算机上,才可以重新正常的工作。再者,数据库服务器同样 受到约束,它是数据存储管理的场所,负责管理每个客户端请求的连接 (c o n n e c t i o n ) 。当客户连接多时,可能会超数据库服务器所规定的同时最大连接 数,导致后来打开客户端程序的客户无法存取数据库。 随着企业规模的不断增大,其要求的规则将随之增多,应用程序的复杂程度也 就不断提高。这样,传统的 c/ s式的架构由于自身的缺陷,严重的制约了其发展 和推广。与此同时,许多企业己经建起了自己的企业内部网 i n t r a n e t 系统,www 网为众多的员工所接受。于是在考虑如何解决 c/ 5架构存在的问题时,技术人员 提出了 “ 客户端的用户界面 ( u s e r i n t e r f a c e )全部使用浏览器 “ 。通过对效率、处 理响应速度、 扩充性和安全性的考虑,专家们最终提出了b/ s 三层架构。b/ s架 构采用 www 网的信息传递方式,客户端通过浏览器请求 we b . we b服务器处理 we b 请求, 并按需与数据库进行交互, 最终将we b 页面发送到客户端的浏览器, 于 是客户端通过we b得到自己所需的信息。b/ s架构的出现,其中一个主要动力就 是为了改善传统的c/ s架构存在的缺点,与 c / s架构相比,b i s架构具有许多优 点,其中主要有以一下几个方面的优点: 1 、系统具有良好的增容性 b/ s架构对客户端要求比较低, 只需安装 i e 4以上的浏览器软件即可。 客户端 接入 i n t r a n e t , 通过了系统认证,得到权限后,就可以得到系统的服务。由于可 华北电力大学 ( 北京)硕十学位论文 以采用连接池 ( p o o l i n g ) 技术,可以在一定程度上将增加一个客户端的影响降 低到最小。 2 、集中了c/ s 架构和基于主机模型 ( 原有的工作站方式)的优点 服务器负责向用户提供信息和要求的数据,通过客户端浏览器软件,呈现给用 户的图形化界面。服务器控制信息的布局和内容,使得信息的控制和管理非常 可靠,这是基于主机的集中管理的优点。然而,客户不仅仅是一个终端,它执 行类似信息高速缓存和在本地存储由用户下载的信息类似这样的任务。因此, b / s处理架构吸取了c/ s架构的精华,又结合了基于主机的优点。 3 、系统具有良好的可维护性 由于客户端只需要浏览器,而且程序的运行在服务器上进行; 数据库统一集中管 理,整个系统只有一个主数据库,存放在总部的服务器里。所以当商业逻辑或 者数学运算规则等发生变化时,客户端无需进行任何改动,只需维护服务器上 的相关程序或者组件即可,从而减轻了系统维护与升级的成本和工作 量。整个 软件的开发可集中在服务器端进行,不必对客户端进行特殊设置和软件安装, 降低维护成本。 4 、可靠的安全性 由于内网一般都通过防火墙与i n t e rn e t 相通,所以任何来自i n t e r n e t 的浏览器提 交的请求,都要通过防火墙,得到认证后,方可进入。这虽然不能保证百分之 百的安全,但至少阻断了大多数不当或者恶意的入侵。 5 、具有优秀的跨平台性和高的信息共享度 超文本链接标示语言 ( h t m l 语言, h y p e r t e x t ma r k u p l a n g u a g e ) ,是数据格 式的一个开放标准,大多数流行的操作系统软件都支持 h t m l 。因而只需在平 台上安装支持h t m l的相应的浏览器软件,即可享受共享的信息。 二b / s 模式的数据库体系结构 近年来由于 i n t e rne t 门n t r a n e t 技术的发展和普及,各种各样的信息都在 ww w ( wo r l d w i d e w e b ) 上发布, 人们之n的信息沟通比以往变得更为高效快捷, we b 技术的应用己成为一种必然。 但传统的客户机/ 服务器模式的数据库设计与we b的 相关技术互相独立,两者无法进行集成。浏览器/ 服务器模式的数据库体系是利用 we b服务器和 j a v a s e r v e r p a g e s( 动态服务器网页,以下简称 j s p )作为数据 库操作的中间层, 将客户机朋 及 务器模式的数据库结构与we b技术密切结合,从而 形成具有三层we b结构的浏览器/ 服务器模式的数据库体系, 具体结构如下图2 - 1 - 1 所示 : 一6 一 华北电力大学 北京)硕士学位论文 前端浏览器 图2 - i - t 三层we b浏览器服务器模式 工作原理:在前端采用 i e , n e等的浏览器将用户提交的操作信息传向 we b 服务器, 然后通过 j s p和一些中间组件访问后台数据库, 操作结果以h t ml页面的 形式返回给前端浏览器。 2 . 2 j 2 e e ( j a v a 2 p l a t f o r m e n t e r p r i s e e d it i o n )的体系结构 2 . 2 . 1 j 2 e e的基本概念 j 2 e e是一个基于j a v a 组件技术的企业应用系统开发规范, 它为不同厂商创建平 台产品提供了标准, 使不同j 2 e e 平台产品之间的交互成为可能。 j 2 e e 规范定义了 一个基于组件技术的多层企业信息系统的标准平台,旨在简化和规范企业应用系统 的开发和部署。j 2 e e技术的基础就是核心 j a v a 平台或 j a v a 2 平台的标准版, j 2 e e 不仅巩固了标准版中的许多优点,例如 ,编写一次、随处运行, 的特性、方便存取数 据库的 j d b c a p i , c o r b a技术以及能够在 i n t e r n e t 应用中保护数据的安全模 式等, 同时 还提供了 对 e j b ( e n t e r p r i s e j a v a b e a n ) , j a v a s e r v l e t s a p i , j s p ( j a v a s e r v e r p a g e s ) 以 及 x m l 技术的全面支持。 其最终目 的就是成为一个能够使企业开 发者大幅缩短投放市场时间的体系结构。 j 2 e e体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、 高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,j 2 e e 降低了开 发多层应用的费用和复杂性,同时对现有应用程序集成提供强有力的支持,完全支 持e n t e r p r i s e j a v a b e a n ,有良 好的向导支持打包和部署应用,添加目 录支持,增强 了安全机制,提高了性能。 j 2 e e是一个基于组件一 容器模型的系统平台,其核心概念是容器。容器是指为 特定组件提供服务的一个标准化的运行时环境,j a v a 虚拟机就是一个典型的容器。 组件是一个可以部署的程序单元,它以某种方式运行在容器中,容器封装了 j 2 e e 底层的 a p i ,为组件提供事务处理、数据访问、安全性、持久性等服务。在 j 2 e e 中组件和组件之间并不直接访问,而是通过容器提供的协议和方法来相互调用。组 件和容器间的关系通过“ 协议” 来定义。容器的底层是 j 2 e e服务器,它为容器提供 j 2 e e中定义的各种服务和 a p i , 容器在j 2 e e服务器之上根据需要提供如目录服务、 事务管理、数据访问、消息机制、安全性等扩展服务。 j 2 e e企业应用模型是一种多层应用结构,包括:客户端表示层、服务器端表 一7 一 华北电力大学 ( 北京)硕士学位论文 示层、 商业逻辑层和企业 信息系统。 客 户端表示层分h t m l , j a v a a p p l e t 和j a v a a p p l i c a t i o n等类型, 服务端表示层用j s p , s e r v l e t , t a g l i b r a r i e s和j a v a b e a n 实现, 商业逻辑层用e j b实现,企业信息系统包括如数据库,e r p等。 2 . 2 . 2 j 2 e e的关键技术 j 2 e e是由一整套的服务 ( s e r v i c e s ) 、应用程序接口 ( a p i )和协议 ( p r o t o c o l ) 组成, 对开发基于we b的多层应用提供了功能支持。 以下是本系统中用到的几种核 。 技 术 日 一 3 : 1 、 j d b c ( j a v a d a t a b a s e c o n n e c t i v i t y ) j d b c是j a v a 提供的一种解决方案,它使 j a v a 应用程序可以从关系数据库中 获取数据,为向关系数据库中存放数据提供了方法。j d b c中的数据访问借助驱动 程序完成, 驱动程序将实现j a v a .s g l .d r i v e r 接口。 通常, 驱动程序可以 被认为是j a v a 应用程序和后台数据库之间的中间层,它从应用程序中接收 s q l命令,并将它们 导入数据库中,然后获取结果,并将返回调用程序。应用程序和数据库间通信的实 际细节取决于所使用驱动程序的类型。j d b c驱动程序的实现总的来说可以分为四 个不同的类型,它们可以满足不同类型的应用程序。 . 类型 1 : j d b c - o d b c桥和o d b c驱动程序 通过j d b c - o d b c桥, 可以使用 j d b c来存取o d b c数据源。 但是需要在 客户端安装o d b c驱动程序,也就是说必须安装mi c r o s o f t wi n d o w s 的某 个版本,影响了j d b c的平台独立性。 . 类型 2 :自带 a p i ,部分 j a v a 驱动程序 这种类型的驱动程序在指定数据库原始代码的外面添加了一个瘦j a v a 层, 它也需要在每台机器上装载可直接访问数据库的客户端代码。 . 类型 3 : j d b c - n e t 纯 j a v a 驱动程序 该驱动程序将把客户端的j d b c调用转换为独立于r d b ms 的网络协议( 例 如,h t t p ) ,然后将请求发送给自 定义的中间设备服务器。中间设备服务 器会把网络协议请求转换为特定的r d b ms协议,以此提供访问底层数据 库的功能。非常适用于网络的应用程序。 . 类型4 :本地协议纯j a v a 驱动程序 通过使用一个纯j a v a 数据库驱动程序来执行数据库的直接访问。 2 , j s p ( j a v a s e r v e r p a g e s ) j s p页面由h t ml代码和嵌入其中的j a v a 代码组成。 服务器在页面被客户端请 求后执行这些 j a v a 代码,然后将生成的 h t ml页面返回给客户端的浏览器。 3 , j a v a s e r v l e t s e r v l e t 是一种小型的j a v a 程序,它扩展了w e b 服务器的功能,是一种服务器 一8 一 华北电力大学 ( 北京)硕士学位论文 端的应用, 在服务器端驻留并响应客户端请求。 s e r v l e t 提供的功能大多与j s p类似, 不过实现的方式不同,s e r l v e t 全部由j a v a 编写并且生成 h t ml o 4 , x ml ( e x t e n s i b l e ma r k u p l a n g u a g e ) x ml是一种可以用来定义其它标记语言的语言,被用来在不同的商务过程中 共享数据,在数据描述方面具有绝对的优势。x ml的发展和 j a v a 是相互独立的, 但是x ml和j a v a 的共同目标都是平台独立性。 通过j a v a 和x ml的组合,可以得 到一个完美的具有平台独立性的we b应用解决方案。 5 , j a v a ma i l j a v a ma i l 是用于存取邮件服务器的 a p i ,支持 s mt p和 i ma p .允许在应用程 序中以独立于平台、独立于协议的方式收发电子邮件。 2 . 3 基于we b的网络应用开发语言 we b 技术是指通过统一的用户界面, 借助一致的资源定位系统, 在全球范围内, 进行资源的共享和服务。基于 we b的应用是指建立在 i n t e r n e t / i n t r a n e t 环境下,以 浏览器作为客户与应用交互界面的应用系统,完成特定的功能。一般与数据库服务 器相连,双向信息流。 we b的主要技术包括了以下几个重要概念: 1 ,超文本传输协议 ( h t t p ) 这是一个应用层的协议,是为分布式、超媒体的信息传输而设计的。h t t p是 通用的、状态无关的、面向对象的协议,可以用于多种用途,如名称服务器或分布 式对象的管理等。 2 , ur l ( un i f o r m r e s o u r c e l o c a t o r ) u r l是全球统一的资源定位器,用于在全球定位 we b上的资源。u r l使得连 在 we b 上 的人和软件 能找到各地 的信息资源 。u r l 的通常表示形式是 : s c h e m e :/ / m a c h i n e . d o m a i n / f u l l - p a t h - o f - f i l e 。 通过不同协议, 如h t t p , f i p , g o p h e r 等连接入网的文件都可以被 u r l引用到。 3 , h t m l ( h y p e r t e x t ma r k u p l a n g u a g e ) h t m l是 w e b 上刻画信息的超文本语言, w e b 上儿乎所有的浏览信息都是用 这种语言进行刻画的。 4 、动态we b 页面 在 we b页面的开发过程中,人们不再满足于静态 we b页面的制作与应用,更 希望在we b 页面的表达方式中嵌入诸如对数据库或其他对象的访问, 达到比普通静 态h t ml更强大的表达方式和交互能力。 一9 一 华北电力大学 ( 北京)硕士学位论文 2 . 3 . 1 几种动态网站开发语言的比较5 1 目 前, 最常用的 三种动态网页语言有a s p ( a c t i v e s e r v e r p a g e s ) , j s p ( j a v a s e r v e r p a g e s ) p h p ( h y p e r t e x t p r e p r o c e s s o r ) . a s p 全名a c t i v e s e r v e r p a g e s , 是一 个w e b 服务 器端的 开发 环 境,利 用它 可 以产生和运行动态的、交互的、高性能的we b服务应用程序。a s p采用脚本语言 v b s c r i p t ( j a v a s c r i p t) 作为自己的开发语言。 p h p 是一种跨平台的服务器端的嵌入式脚本语言. 它大量地借用c , j a v a 和p e r l 语言的语法,并祸合p h p自己的特性,使we b开发者能够快速地写出动态生成页 面,它支持目前绝大多数数据库。还有一点,p h p是完全免费的,不用花钱,你可 以 从p h p 官方站点( h t t p :/ / w w w . p h p .n e t ) 自由 下载。 而且你可以不受限 制地获得源码, 甚至可以从中加进你 自己需要的特色。 j s p是s u n 公司推出的新一代站点开发语言, 它完全解决了目 前a s 只 p h p的一 个通病一 脚本级执行。 s u n公司借助 自己在 j a v a上的不凡造诣, 使j a v a从j a v a应 用程序 和 j a v a a p p l e t 之外,又有新的硕果,就是j s p - - j a v a s e r v e r p a g e s o j s p可 以在s e r v e r l e t 和j a v a b e a n 的支持下,完成功能强大的站点程序。 三者都提供在 h t ml代码中混合某种程序代码、由语言引擎解释执行程序代 码的能力。但j s p代码被编译成 s e r v l e t并由 j a v a虚拟机解释执行, 这种编译操 作仅在对 j s p页面的第一次请求时发生。 在 a s p , p h p , j s p环境下,h t ml代 码主要负责描述信息的显示样式, 而程序代码则用来描述处理逻辑。 普通的 h t m l 页面只依赖于 we b服务器,而 a s p、p h p , j s p页面需要附加的语言引擎分析 和执行程序代码。程序代码的执行结果被重新嵌入到 h t ml代码中,然后一起发 送给浏览器。 a s p、 p h p , j s p三者都是面向 we b服务器的技术,客户端浏览 器不需要任何附加的软件支持。 1 、应用范围的比较 a s p是m i c r o s o f t 开发的动态网页语言,也继承了微软产品的一贯传统一一只 能运行于微软的服务器产品, u s ( i n t e r n e t i n f o r m a t i o n s e r v e r ) ( w i n d o w s n t ) 和 p ws ( p e r s o n a l we b s e r v e r ) ( w i n d o w s 9 8 ) 上。 u n i x 下也有c h i l i s o f t 的插件来支持a s p , 但是a s p本身的功能有限,必须通过a s p - c o m的组合来扩充,u n i x 下的c o m实 现起来非常困难。 p h p 可在w i n d o w s , u n i x ,l i n u x 的w e b 服务器上正常运行, 还支持i i s ,a p a c h e 等 通用we b 服务器, 用户更换平台时, 无需变换 p h p 代码, 可即拿即用。 j s p同p h p类似,几乎可以运行于所有平台。如wi n n t , l i n u x , u n i x . n t下 i i s通过一个插件,例如j r u n 或者s e r v l e t e x e c ,就能支持j s p 。著名的w e b 服务器 a p a c h e已 经能够支持j s p 。由 于a p a c h e 广泛应用在n t , u n i x 和l i n u x 上,因此 1 0 一 华北电力大学 ( 北京)硕士学位论文 j s p有更广泛的运行平台。 虽然现在 n t 操作系统占了很大的市场份额, 但是在服务 器方面 u n i x的优势仍然很大,新崛起的 l i n u x更是来势不小,从一个平台移植到 另外一个平台,j s p和 j a v a b e a n甚至不用重新编译,因为 j a v a 字节码都是标准的 与平台无关的。 2 、性能比较 有人做过试验,对这三种语言分别做循环性能测试及存取o r a c l e 数据库测试。 在循环性能测试中,j s p只用了令人吃惊的四秒钟就结束了2 0 0 0 0 * 2 0 0 0 0的循环。 而a s p , p h p 测试的是 2 0 0 0 * 2 0 0 0 循环 ( 少一个数量级) ,却分别用了6 3 秒和 8 4 秒 。( 参考 p h p l i b ) 。数据库测试 中,三者分别对 o r a c l e 8进行1 0 0 0 次 i n s e r t ,u p d a t e ,s e l e c t , 和d e l e t e : j s p 需要 1 3秒, p i t 需要 6 9秒, a s p 则 需要 7 3秒。 3 、前景分析: 目前在国内p h p与 a s p应用最为广泛。而 j s p由于是一种较新的技术,国内 采用的较少。但在国外,j s p已经是比较流行的一种技术,尤其是电子商务类的网 站,多采用j s p 。 采用p h p的网站由于p h p 本身存在的一些缺点,使得它不适合 应用于大型电子商务站点,而更适合一些小型的商业站点。 首先, p h p 缺乏规模支持。其次,缺乏多层结构支持。对于大负荷站点,解决 方法只有一个:分布计算。数据库、应用逻辑层、表示逻辑层彼此分开,而且同层 也可以根据流量分开,组成二维阵列。而 p h p 则缺乏这种支持。还有上面提到过的 一点,p h p 提供的数据库接口支持不统一,这就使得它不适合运用在电子商务中。 a s p和j s p则没有以上缺陷, a s p可以通过 mi c r o s o f t wi n d o w s 的c o m/ d c o m 获得 a c t i v e x规模支持, 通过d c o m和t r a n s c a t i o n s e r v e r 获得结构支持; j s p 可以通过 s u n j a v a 的j a v a c l a s s 和 e j b获得规模支持,通过 e j b / c o r b a以及众多厂商的 a p p l i c a t i o n s e r v e r 获得结构支持。 三者中,j s p 应该是未来发展的趋势。世界上一些大的电子商务解决方案提供 商都采用 j s p i s e r v l e t 。 比较出名的如 i b m 的e - b u s i n e s s , 它的核心是采用j s p i s e r v l e t 的 w e b s p h e r e : 西方另外一个非常著名的电 子商务软件提供商 i n t e r s h o p 。它原来的 产品i n t e r s h o p l 2 , 3 , 4 占 据了主要的电子商务软件份额。 它们都是通过c g i 来提供 支持的。 2 . 3 . 2 j s p技术的优点 1 、wr i t e o n c e r u n a n y w h e r e j s p 技术继承了j a v a 与生俱来的先进概念一一“ w r i t e o n c e , r u n a n y w h e r e 种概念正越来越深远地影响着互联网行业的交互式 we b页面的设计理念 。这 j s p 页面可以非常容易地跨平台、跨 “ we b 服务器软件来设计和开发源代码” 。 华北电力大学 ( 北京)硕士学位论文 2 、支持多种动态网页格式 目 前对使用 j s p技术设计出来的网页应该采取什么样的格式还没有一个明确的 标准。一般来说,j s p技术目前既可以支持 h t ml i d h t ml的传统浏览器文件 格式,又可以运行应用于无线通信设备如移动电话、p d a等设备进行网页浏览 的wml文件格式,还可以支持其他一些 b 2 b应用的x ml格式。 3 , j s p标签的可扩充性 尽管a s p 和j s p 都使用标签与脚本技术来制作动态we b页面, j s p 技术能够使 开发者扩展j s p 标签得以应用, j s p 开发者能够定制标签库, 所以网页制作者充 分利用与x ml兼容的标签技术强大的功能, 大大减少对脚本语言的依赖。由于 定制标签技术,使网页制作者降低了制作网页和向多个网页扩充关键功能的复 杂程序。 4 , j s p 跨平台的可重用性 j s p的开发人员在开发过程中一直关注可重用性。j s p组件 企业 j a v a b e a n s , j a v a b e a n 或定制的j s p标签)都是跨平台可重用的。企业 j a v a b e a n s 组件可以访 问传统的数据晖.并能以分布式系统模式工作于 u n i x和 w i n d o w s 平合。 j s p 技术的标签可扩充功能为开发人员提供简便的、 与x ml兼容的接口即共享网页 的打包功能使其完全地工业标准化。 5 、基于组件的模式能有效提高应用程序的开发效率,因为这种模式能够使开发人 员利用快捷的子组件快速创建模板应用程序,然后再整合一些附加功能,以后 便可以使用。像这样有效的方法在 j s p 中无处不在,并可以将其打包成一个 j a v a b e a n或一个工业标准的j a v a b e a n组件。 6 、易于维护性 基于j s p技术的应用程序比基于a s p的应用程序易于维护和管理。脚本语言都 能很好服务于小的应用程序但不能适应大型的、复杂的应用程序。因为 j a v a 是 结构化的, 它比较容易创建和维护庞大的、组件化的应用程序。 7 , j s p突出的组件技术使修改内容而不影响逻辑或修改逻辑而不影响内容变得很 容易实现。企业级的j a v a b e a n结构整合了企业逻辑,例如数据库的访问、安全、 事务完整性及独立性 ( 即独立于应用程序) 。 8 、因为j s p技术是一种开放的、跨平台的结构,因此,we b 服务器、平台及其他 的组件能很容易升级或切换, 且不会影响j s p 基本的应用程序。 这一特点使j s p 能够适用现实世界的各种 we b 应用程序不断的变化和发展。 9 、企业产品的多样性 j a v a 2 平台即企业版 ( j 2 e e )是适用于多企业应用程序的j a v a 结构甲作为j 2 e e 的部分,j s p网页可访问所有 j 2 e e的组件,包括 j a v a b e a n s 、企业级 j a v a b e a n s 及j a v a s e r v l e t s 。由于j s p网页都能被完全编译成为s e r v i e t ,因此,j s p网页能 华北电力大学 ( 北京)硕士学位论文 够较完整地继承有关 s e r v l e t 的许多优点, 为客户提供基于服务器端的j a v a 应用 服务。j 2 e e平台内容不仅包括管理复杂的企业应用程序而且包括事务管理技术 和p o o l i n g 资源管理技术。 j s p网页可以访问标准的j 2 e e服务包括: . j a v a 名称和目录界面 a p i . . j d b c a p i( 与关联的数据库通信) 。 . j a v a m a i l ( 支持基于j a v a 邮件和消息应用程序的类) 。 . j a v a 消息服务。 通过 j 2 e e , j s p网页能够用许多方式同企业系统交互访问。j 2 e e支持两种 c o r b a规范的技术:j a v a i d l和 r mi - 1 1 0 1 ? 。在企业级 j a v a b e a n s 技术支持下, j s p 网页通过运用高级的、对象映射的方式访问数据库。 因为j s p 技术是基于j a v a 的开放性过程的产品, 因此它能够广泛支持不同提供 商提供的工具、w e b 服务器和应用程序的服务。这样能够使用户选择最佳的开发方 法,选择最适应他们的应用程序开发的工具包。同时,有效地保护用户在代码和人 员培训上的投资。 2 . 3 . 3 页面的执行过程和方式 j s p页面实际是一种类似于h t ml文件的文本文件,它是由h t ml , j a v a或 x ml的内容标识连同j s p元素一起组成的。我们在请求一个j s p页面时,we b服 务器首先将指定的j s p页预传递给j s p引擎,由j s p引擎对j s p页面进行处理。 j s p引擎实际上要把 j s p标签、j s p页中的 j a v a 代码甚至连同静态 h t ml内容 都转换为大块的j a v a 代码, 这些代码块被j s p引擎组织到用户看不到的j a v a s e r v l e t 中去.然后 s e r v l e t 自动把它们编译成 j a v a 字节码。 所以, 当我们请求一个j s p页时, 在我们不知道的情况下,一个己经生成的、 预 编译过的 s e r v l e t 实际上将完成所有的工作,非常隐蔽而又高效。只是当第一次对 某个文件进行请求时, j s p文件才被编译成 s e r v l e t 文件,以后不改动j s p文件无 须再编译。因为如此,在第一次对.j s p页面的访问时将会有轻微的延迟。 因为s e r v l e t 是编译过的, 所以网页中的j s p代码不需要在每次请求该页时被解 释一遍。j s p引擎只需在j s p文件代码最后被修改后编译一次,然后这个编译之后 生成的 s e r v i e t 就可以被执行。由于是 j s p引擎 自动生成并编译 s e r v l e t ,不用程序 员动手编译代码,经过编译后 s e r v l e t 被驻留在服务器的内存中。在随后对该页面 的请求时,服务器将检查该.j s p文件是否有变化。如果没有变化, 服务器将使用驻 留在内存中的s e r v l e t 来生成对客户的响应。由于编译好的s e r v l e t 是驻留在内存中, 响应就非常快了。如果j s p文件发生了变化,服务器将自动重新编译文件并替换在 华北电力大学 ( 北京)硕士学位论文 内存中的s e r v l e t ,所以j s p能带给你高效的性能和快速开发所需的灵活性。 j s p作为服务端运行的动态网页,可以同多种形式的应用程序进行交互,一般 有如下两种形式的交互方式。 方式 1 ,用户通过浏览器发出一个被送到某 j s p页面的请求。在收到的客户端 的请求后, 从j s p页面中编译出的s e r v l e t 从一个j a v a b e a n中请求信息。 该j a v a b e a n 可以从一个e n t e r p r i s e j a v a b e a n 、 数据库或其他后端系统中请求信息。 一旦j a v a b e a n 获取需要的信息后,这个j s p s e r v l e t 可以分析并以h t m l形式在用户响应中显示 该信息。该执行方式的示意图2 - 3 - 1 所示: 图2 - 3 - 1 : j s p的执行方式示意图一 在方式2 ,浏览器发出一个由j a v a s e r v l e t 处理的请求。此s e r v l e t , 如同方式一 中的j s p 文件, 将向j a v a b e a n 或者e n t e r p r i s e j a v a b e a n 请求信息。 生成的 动态内 容 将被封装在一个 j a v a b e a n中,此 s e r v l e t 随后调用 j s p s e r v l e t ,由后者从前面生成 的j a v a b e a n中获取动态内容并发送 h t ml到客户端的we b浏览器上。 如下图2 - 3 - 2 所示: 浏览器 j s p 数据库 图2 - 3 - 2 j s p 执行方式示意图二 2 . 3 . 4 j a v a语言 j a v a 是一个广泛使用的网络编程语言 它是一种新的计算概念。 首先, 作为一种 程序设计语言,它简单、 面向对象、不依赖于机器的结构、 具有可移植性、 鲁棒性、 安全性,提供并发的机制、具有很强的性能。其次,它最大限度地利用了网络j a v a 的小应用程序( a p p l e t ) 可在网络上传输而不受c p u和环境的限制。另外 j a v a 还提 华北电力大学 北京)硕士学位论文 供了丰富的类库,使程序设计者可以很方便地建立自己的系统。 j a v a 语言有下面一些特点:简单、面向对象、分布式、解释执行、鲁棒、安全、

温馨提示

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

评论

0/150

提交评论