已阅读5页,还剩98页未读, 继续免费阅读
(计算机应用技术专业论文)基于web技术的勘探开发重点项目管理系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
论文题目:基于w e b 技术的勘探开发重点项目管理系统的设计与实现 专业:计算机应用技术 硕士生:张红杰( 签名) 缝丝圭 指导教师: 胡宏涛( 签名l 互雕 摘要 本文题目来源于中国石油勘探与生产分公司的科研项目。本文研究了目前流行的w e b 开发技术,主要包括w e b 页面的处理技术、j a v a 技术、j s p 技术、j a v a b e a n 以及j a v a 数据库连接技术等等。论文通过分析用户的需求,给出了系统的总体解决方案、各个子系 统和数据库的设计,并详细的介绍了系统的具体实现。系统结构采用了最流行的b s 结构, 该结构最大特点在于所有功能在服务器上运行,客户端只需要最常见的办公软件和i e 浏览 器即可。系统使用w i n d o w s 认证,实现了与勘探与生产信息门户的统一认证,提高了系统 访问的安全性。系统设计引入工作流的思想,为不同的角色设计了不同的工作流程。整个 系统具有跨平台、跨网络、统一界面、易于扩展、易于维护等优点。体现了j a v a 技术的先 进性和实用性。本系统实现了勘探开发重点项目的电子化管理,实际应用效果良好。 关键词:w e b j d b cj s p j a v a b e a n 数据库 论文类型:应用研究 s u b i e c t :d e s i g n a n dr e a l i z a t i o no ft h ee x p l o r a t i o na n dd e v e l o p m e n t si m p o r t a n t p r d j e c t m a n a g e m e n ts y s t e m b a s e do nw e bt e c h n o l o g y s p e c i a l i t y :c o m p u t e r a p p l i c a t i o n t e c h n o l o g y n a m e :z h a n gt i o n g j i e ( s i g n a t u r e ) 鲥& l n 炯晰:h u h o n g t a 。( s 咖咖r e 山_ 山严 t h i st i t l ec o m e sf r o mt h es c i e n t i f i ca n dr e s e a r c hp r o j e c to fp e t r o c h i n ae x p l o r a t i o na n d p r o d u c t i o nc o m p a n y t h i sd o c u m e n ts t u d i e sp o p u l a rw e bt e c h n o l o g y , i n c l u d i n gt r a n s a c t i o n t e c h n o l o g yo fw e bp a g e s ,j a v at e c h n o l o g y , s pt e c h n o l o g y , j a v a b e a nt e c h n o l o g y , c o n n e c t i o n t e c h n o l o g yt od a t a b a s ew i t hj a v a a n ds oo n b ya n a l y z i n ge s e r l sd e m a n d s ,i tg i v e so u tt h ew h o m s o l u t i o np l a na n dd e s i g no fs u b s y s t e m sa n dd a t a b a s e ,a n dt h e ni n t r o d u c e sr e a l i z a t i o no ft h e s y s t e mi nd e t a i l s t h es y s t e ml l q e st h em o s tp o p u l a rb sa r c h i t e c t u r e ,a n dt h em o s ti m p o r t a n t f e a t u r eo f t h i sa r c h i t e c t u r ei st h a ta l lp m g r a m m e sa r er u n n i n go i lt h es e r v e r s ,a n dc l i e n t sn e e do n l y t h eu s u a lo f f i c es o t t w a r ea n di eb r o w s e r i ti m p r o v e st h es a f e t yo fa c c e s sa n dr e a l i z e st h eu n i t e d a u t h e n t i c a t i o nw i t ht h ei n f o r m a t i o np o e mo fe x p l o r a t i o na n dp r o d u c t i o nc o m p a n yt h a tt h e s y s t e mu s e sw i n d o w s a u t h e n t i c a t i o n t h ed e s i g no fs y s t e mi m p o a st h ei d e ao fw o r k f l o w , a n di t d e s i g n sd i f f e r e n tw o r kp r o c e s s f o rd i f f e r e n tu s e r s t h es y s t e mh a st h ef e a t u r e so fp l a t f o r m i n d e p e n d e n c e ,c r o s s - n e t w o r k ,u n i f o r mu s e ri n t e r f a c e ,e x p a n s i m l i t ya n dm a i n t a i n a b i l i t y a n di t r e p r e s e n t s t h ea d v a n t a g ea n da v a i l a b i l i t yo fl a v at e c h n o l o g y t h es y s t e mr e a l i z e se l e c t r o n i c m a n a g e m e n to fe x p l o r a t i o na n dd e v e l o p m e n t si n a p o r t a n tp r o j e c t s ,a n d t h ee f f e c to fs y s t e m u t i l i z a t i o ni sp r e t t yg o o d k e y w o n d b :w e b ,, 1 1 ) 1 1 1 2 ,j s p , j a v a b e a n ,d a t e b a s e t h e s i s :a p p l i c a t i o ns t u d y 学位论文创新性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成 果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包含其他人 已经发表或撰写过的研究成果;也不包含为获得西安石油大学或其它教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确 的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 论文作者签名:盗红墨,日期:塑鳢:! 学位论文使用授权的说明 本人完全了解西安石油大学有关保留和使用学位论文的规定,即:研究生在校攻 读学位期间沦文工作的知识产权单位属西安石油大学。学校享有以任何方法发表、复 制、公开阅览、借阅以及申请专利等权利。本人离校后发表或使用学位论文或与该论 文直接相关的学术论文或成果时,署名单位仍然为西安石油大学。 论文作者签名:箍塾:叁! 导师虢珥磁 日期:兰! ! :世 日期:迎:丛 第章绪论 第一章绪论 1 1 课题来源 随着信息技术的不断发展,信息技术对社会进步和国民经济发展发挥着 越来越大的促进作用,并对传统的思想观念、工作方式产生巨大的冲击。世 界已进入信息化时代,网络技术己进入了各行各业,同时也带动了各行业的 发展。 近年来信息高速公路的建设和发展,使得计算机网络成为了现代企业的 命脉,各大企业与公司都在建立自己的网络和信息系统,以便快速集中大量 的信息,通过高效、准确、迅速的处理,从而做出决策。中国石油勘探与生 产公司作为石油开发生产的指挥中心,建立了自己的信息系统来管理每天接 收到的大量信息。中国石油天然气股份有限公司勘探与生产分公司为了实现 重点项目管理的网上申报、立项、意见反馈、合同管理、中期检查、项目验 收、资料存档等功能,与西安石油学院签订了“勘探开发重点项目管理系统” 科研项目,本论文以该项目作为研究和应用背景。 1 2 研究的目的及意义 1 2 1 研究目的 伴随着w e b 技术越来越成熟、b s 体系被越来越多的企业所采纳,目前 网络的应用已经不是完成单一目的、满足特定用户的简单应用,许多协作功 能,例如,出席提示、即时消息、实时会议、文件交换以及虚拟工作空间等, 都会被要求嵌入到企业应用中,其目标是以业务流程、应用和网站为脉络, 建立特定的、用户驱动的、无缝的内部协作环境。在今天电子协作已经成为 最基本的需求,消息传递、电子化会议、电子化的工作环境、电子化学习等 已经是企业降低成本,提高效率不可缺少的手段。 中国石油天然气股份有限公司勘探与生产分公司的勘探开发重点项目的 管理主要是要实现网上申报、立项、意见反馈、合同管理、中期检查、项目 验收、资料存档等功能。本质上就是在各油田与分公司之间建立一种重点项 目管理的协同工作。本系统涉及到如何处理文档信息,如何管理与组织以文 字字符为主要内容的信息,特别是如何动态地控制这些信息的流转等方面, 艇交f 阳| 入学硕十学侍论文 这就需要种有效的控制技术和:j = = 具进行管理。本题目的主要目的是利用以 w e b 方式使用的工作流程来设计与实现重点项目的管理系统,从而更好地支 持各油田与勘探与生产分公司的协同工作。 1 2 2 研究意义 随着w w w ,i n t e m e t i n t r a n e t 发展的深入和普及,网络用户的增多,网络 应用系统的需求也随之增多,未来的发展趋势是最大限度地利用网络环境支 持人类社会必需的群体之间的协同工作。利用w e b 技术和组件建立的工作流 应用系统,逐渐成为支持人们协同工作的一种流行趋势。这种系统是一种高 度共享的新型系统,充分体现了i n t r a n e t 的优势。系统的可扩展性、维护性大 大提高;同时,利用广域网使远程办公成为可能。 本系统的开发实现了对重点项目管理的计算机化管理,支持了跨地域的 协同工作,对于提高企业的工作效率及管理水平、增强企业的竞争力具有重 大的意义。 1 3 国内外现状 1 w e b 技术 目前国内、外通过w e b 技术主要应用在以下几个方面:( 1 ) 信息发布服 务,将企业信息发布到布到网一i - ,进行宣传;( 2 ) 电子商务,通过网络进行 b t o b 或b t o c 的商务活动:( 3 ) 信息提供务,服务,为用户提供定制的信息; ( 4 ) 信息共享的平台,提供邮件、聊天、电子自板、文件共享等用等用户交 流的平台;( 5 ) 企业应用的中间件,将企业后台的s a p 、e r p 、数据库信息 通过w e b 呈现给用户。 目前w e b 的应用模型主要有两种:两层应用模型和三层应用模型。传统 的客户棚殴务器应用模型( c l i e n t s e r v e r ) 需要开发专门的客户端软件,通过客户 端软件来访问数据库中的数据,应用的逻辑主要集中在客户端软件,每个用 户都需要安装客户端软件才能使用相应的服务。一旦应用逻辑改变,或者数 据库结构改变,就要修改客户端软件,所有的用户都需要重新安装软件,维 护的工作量很大。这种结构不能很好地适应用户数量众多、分布地域广等应 用需求。 阳交f i 油人学硕 :学俯论文 基于w e b 的三层应用模型由后台的数据库服务器,中间层的应用服务器, 和客户端的浏览器构成。客户端不需要专门的软件,只要客户端安装有浏览 器就可以使用相应的服务。全部的应用逻辑集中在应用服务器( a p p l i c a t i o n s e r v e r ) 上,需要改变应用逻辑或者数据库结构发生变化时,只需要改动应用 服务器上的程序,而客户端不需要任何变化就可以使用新的应用。因为客户 端只需要能运行浏览器,所以对客户机的处理能力和资源需求相对较少,这 种客户机称为瘦客户。浏览器,w j b 服务器数据库服务器( b m r s ) 模式是c s 模式的延伸和发展,符合信息处理的规律,具有易于使用,客户化程度高, 集成了多媒体信息及可视化程度高等特点。同时它可以和后台支撑的大型数 据库结合,形成一种适应现代化信息技术发展潮流的i n t r a n c t 应用模式,成为 未来企业信息发布、交流和各种事务处理相结合的企业主流信息系统平台。 总之,我们看到目前计算机网络技术、数据库技术、w e b 技术、协同计 算技术等发展非常迅猛,对信息的需求日益增长。同时i n t e m e t 渗透到了科学、 工程、政府和商业等各个领域,形成了共同的传输和表示信息的标准,更节 省和更富表现力的通讯方式,更为快捷方便的资料查询途径。企业的网络应 用正随着i n t e m e t 技术的发展而变革,由传统的客户,数据库服务器模型向采 用i n t e m e t 技术的浏览器w e b 服务器,数据库模式过渡,形成新的企业应用和 信息管理的主流方向。 2 组件技术 目前的组件技术有m i c r o s o f t 的c o m e ) c o m 、o m g 的c o r b a 和s u n 的j a v a b e a n s ,但它们的思想是一致的,都是建立在面向对象基础之上并超越 了面向对象的思想。组件本身可以用面向对象的方法来实现,完成一项独立 的业务逻辑,它实现的是对象的重用。组件不存在继承的概念,更强调封装 的独立性。组件的内部实现细节是隐藏的,它通过个或多个接口,向外提 供服务,而无须知道这些服务是如何实现的。组件技术具有可扩充性、可重 用性和支持分布式应用等多方面的优点。利用组件进行开发可节约成本,便 于维护和扩展。 第一:章w e b 开发技术的研究 第二章w e b 开发技术的研究 2 1w e b 页面的处理技术 2 1 1w e b 页面 浏览w e b 时所看到的文件称为w e b 页面。w e b 页面是使用种特殊的超 文本语言( h t m l ) 语言建立的。任何一种w e b 浏览器的计算机都能解释 h t m l 语言,w e b 浏览器把h t m l 语言翻译成为多媒体w e b 文件的可视化 表现。其中包括:预先设计背景主题样式,页面标题,动画,页面标题这些h t m l 代码或称标签告诉浏览器如何显示w e b 页面上的文本,图片和动画文件。 h t m l 标签在浏览器中是不可见的,但是,页面上的文本和图像是可见的。 任何在w e b 页面中见到的图片,声音或动画元素都是相互独立的文件。这些 文件的名称,以及有关如何打开该文件,如何下载该文件和应把该文件放到 w e b 页面什么地方的信息,都由h t m l 标签提供 1 , 2 1 。 建立一个w e b 页面一般需要遵循三条设计原则简洁、一致性、好的对比 度。 2 1 2 w e b 页面风格统一技术:c s s c s s 即级连样式单。它可以用来进行网页的风格规定,使得在不同的页 面上,显示相同颜色的背景、相同大小的文字、相同i n p u t 风格,并且以后 很方便的变换风格。网页的风格在c s s 中的狭义定义即h t m l 语言标志的一 些诸如字体,边框,颜色与背景等属性,好比我们用一些词汇来描述一个人, 那么这些词汇就表示这个人的一些属性【3 1 。 c s s 的样式规定,大到一个网站,小到一个h t m l 标志,使用的形式不 同,则样式单能规定的范围也有所不同。如果要对一个站点的一些风格进行 统一规定,那么用c s s 文件就必不可少了。如果只想使样式单只规定某个页 面的风格,那么内部文档头就能胜任这项工作。如果还想使某些h t m l 标志 有特殊的样式规定,则要用到直接插入式。这三种存在方式就可以使整个网 站在风格统一的前提下,又各有特色,富于变化,将变化与统一这个矛盾的 两面有机地结合起来。 样式表由样式规则组成,以告诉浏览器怎样去呈现一个文档。有很多将 4 坩安4 旧人学顺十学位论文 样式规则加入到h t m l 文档中的方法,但最简单的启动方法是使用h t m l 的 s t y l e 组件。这个元素放置于文档的h e a d 部分,包含网页的样式规则。 每个规则的组成包括一个选择符一通常是一个h t m l 的元素,例如 b o d y ,p ,或e m 一和该选择符所接受的样式。有很多的属性可以用于定义 一个元素。每个属性带一个值,共同地描述选择符应该如何呈现。 样式规则组成如下: 选择符 属性:值) 单一选择符的复合样式声明应该用分号隔开: 选择符 属性l :值1 ;属性2 :值2 ) 。 c s s 在h t v i l 中应用有三种方法: 第一种是包含在 标记里,例如: 在这里使用了h 1 标记 第二种是行间定义,例如: 这是行间定义的h l 标i 己 第三种是外部调用样式文件,跟第一种类似,例如: 曲安i m b 人学硕十学位论空 第四种是也是导入样式文件,跟第三种类似,例如: c s s 的编辑方法同h t m l 一样,也可以是任何文本编辑器或网页编辑软 件,还有专门用来编辑c s s 的软件。如果c s s 语句是当成外部样式表,而在 h t m l 文件中调用,那它的扩展名存成c s s 就可。如果所有网页使用的都是这 个祥式表,那么只需修改这个文件就修改了整个网站的外观。 2 , 2j a v a 技术 2 2 1j a v a 技术的主要构成 j a v a 是s u n 公司于1 9 9 5 年推出的一种编程语言。发展到今天,它已不仅 仅是一种编程语言,而是成为种遵循“网络就是计算机”信条的平台技术。 j a v a 技术目前分为三个版本:适用于小型设备和智能卡的j a v a 2 平台 m i c r o 版,简称j 2 m e ( j a v a 2p l a t f o r mm i c r oe d i t i o n ) 、适用于桌面系统的j a v a 2 平台标准版,简称j 2 s e ( j a v a2p l a t f o r ms t a n d a r de d i t i o n ) 、适用于创建服务 器应用程序的j a v a 2 平台企业版,简称j 2 e e ( j a v a 2p l a t f o r me n t e r p r i s ee d i t i o n ) f 4 】。图2 1 是j a v a 2 平台结构图: p q 安f i 油人j = ;:硕f :学忙沦文 j a v a 2 平台l i c r o 版( j 2 i e 平台) 圜 圈圈园 1 曰目 c d c :c o n n e c t e dd e v i c ec o n f i g u r a t i o n c l d c :c o n n e c t e dl i m i t e dd e v i c ec o n f i 訇d r a t i c m m i d p :| o b i l ei n f o r i 吼t i o nd e v i c ep r o f i l e 图2 1j a v a2 平台结构图 2 2 2j a v a 语言的特点 j a v a 语言是种适用于网络编程的语言,它的基本结构与c 十+ 极为相似, 但却简单得多。它集成了其它一些语言的特点和优势,又避开了它们的不足 之处。它的主要特点如下岱 6 】: 1 、简单性 j a v a 与c + + 相比,不再支持运算符重载、多级继承及广泛的自动强制类 型转换等易混淆和较少使用的特性,而增加了内存空间自动垃圾收集的功能。 复杂特性的省略和实用功能的增加使得开发变得简单而可靠。简单化的另一 方面是j a v a 的系统非常小,因此,j a v a 应用软件能在相当小的系统之上独立 工作。 2 、平台独立性 这是j a v a 最吸引人的地方。由于它采用先编译成中间码( 字节码) ,然 后装载与校验,再解释成不同的机器码来执行,即“j a v a 虚拟机”的思想, 【,f 安f 涮j 人学硕十学能沦文 屏蔽了具体的平台环境特性要求,使得只要能支持j a v a 虚拟机,就可运行各 种j a v a 程序。 3 、面向对象 面向对象( 0 0 ) 技术是近年来软件开发中用得最为普遍的程序设计方法, 它通过把客观事物进行分类组合、参数封装、用成员变量来描述对象的性质、 状态,而用方法( 成员函数) 来实现其行为和功能。0 0 技术具有继承性、封 装性、多态性等众多特点,j a v a 在保留这些优点的基础上,又具有动态联编 的特性,更能发挥出面向对象的优势。 4 、多线程 多线程机制使应用程序能并行执行。j a v a 有一套成熟的同步原语,保证 了对共享数据的正确操作。通过使用多线程,程序设计者可以分别用不同的 线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易实 现网络上实时的交互行为。 5 、动态性 j a v a 的设计使它适合于一个不断发展的环境。在类库中可以自由地加入 新的方法和实例变量而不会影响用户程序的执行。并且j a v a 通过接口来支持 多重继承,使之比严格的类继承具有更灵活的方式和扩展性。 6 、分布性 分布性包括数据分布和操作分布。数据分布是指数据可以分散在网络的 不同主机上。操作分布是指把一个计算分散在不同主机上处理。j a v a 支持这 两种分布性。j a v a 还提供了一整套网络类库,开发人员可以利用类库进行网 络程序设计,方便地实现j a v a 的分布式特性。 7 、健壮性 j a v a 的目标是要协助开发人员建立各方面可靠的程序,j a v a 建议开发人 员在设计初期就检查可能存在的问题,其后则进行动态检查,并排除容易出 现的错误。 8 、安全性 j a v a 非常强调安全性,以确保建立无病毒且不会被侵入的系统。j a v a 的 r 阳安f i 油人学硕一k 学位论文 验证技术以公钥加密法为基础。健壮性与安全性之间存在一种很强的相互作 用关系。例如,指针语意的改变,让应用程序不可能伪造对象结构存取权, 或存取它们在对象中没有存取权的私有数据,这等于关上大门,杜绝大多数 病毒的侵入。 9 、中立性 j a v a 的设计目标是要支持网络应用。一般而言,网络是由许多不同的平 台系统构成,包括各种c p u 与操作系统。为了让j a v a 应用程序能够在网络上 任何地方执行,其编译器将会生成一种具备结构中立性的目标文件格式。编 译后的程序码可以在提供j a v a 运行系统的多种不同处理器上执行。j a v a 的这 种中立性结构不仅对网络应用很有帮助,而且也很适合单一的系统软件流通。 1 0 、解释执行 在编写完j a v a 源程序后,通过j a v a 编译器将其编译为j a v a 虚拟机的字 节码。在j a v a 虚拟机上,j a v a 解释器来解释字节码程序。 2 2 3j a v a 虚拟机 平台无关性是j a v a 最重要的特性,而实现这特性的基础就是j a v a 虚拟 机( j v m ) 。j a v a 主要靠j a v a 虚拟机在字节码( 目标码) 一级实现平台无关性。 j a v a 虚拟机的结构如图2 - 2 所示,由图可以看出j a v a 虚拟机是j a v a 平台的核 。n 7 】。 j a v a 平台 图2 _ 2j a 髓虚拟机( j ) 结构图 j a v a 虚拟机是一种抽象机器,它附着在具体操作系统之上,本身具有一 套虚机器指令,并有自己的堆栈、寄存器组等。j a v a 虚拟机通常是用软件而 州蜜i i 油大学砸 :学佩沦文 不是用硬件实现。 在j a v a 虚拟机上,有一个j a v a 解释器来解释j a v a 编译器编译后的程序。 j a v a 编程人员在编写完软件后,通过j a v a 编译器将j a v a 源程序编译为j a v a 虚拟机的字节代码。任何一台机器只要配备了j a v a 虚拟机,就可以运行这个 程序,而不管这种字节码是在何种平台上生成的。 j a v a 虚拟机是使c l a s s 文件具有跨平台能力的核心结构。同一c l a s s 文件 可以运行在实现j a v a 虚拟机的不同计算机上。虚拟机只需要知道c l a s s 文件应 该是什么结构和应当包含什么,而不必管c l a s s 文件对应的源程序代码是由何 种语言编写的【8 】。由于各种语言的编译器与j a v a 虚拟机本身无关,因此只要 不同语言的编译器能从这些源文件中产生j a v a 字节码,开发人员就可以使用 各人所熟悉的语言编写运行在任何j a v a 虚拟机上的应用程序,而不必一定要 学习j a v a 语言。这将大大简化现有软件向平台无关软件转化的工作。图2 3 是j a v a 虚拟机的工作原理图。 由于在当前主机操作系统上加上了j a v a 虚拟机层,j a v a 字节码执行速度 目前要比本地机器慢。速度问题可能是影响j a v a 推广的唯一原因。 t a v ap r o g r a m 凰w i n 3 2s 圃o l a x i s 鱼震 圈2 - 3j w 避拟机工作原理豳 2 3 l i s p 技术 2 3 1 j s p 技术简介 在w e b 发展的初期,人们全部使用h t m l 语言设计网页。这些简单的 1 0 “安t i 油人学硕。l 一学位沦文 h t m l 文档在被手工编辑完成之后保存在与i n t e m e t 相连接的计算机内,任何 连入互联网的用户都可以访问其中的信息,这科- 形式的页面被称作静态页面。 由于h t m l 采用了超文本链接的方式,因此访问者可以很方便的从一个页面 跳转到另一个页面,实现非线性浏览。正是由于这种全新的、更加合理、便 捷的信息查询方式,促成了w e b 空前的快速发展。 随着互联网技术的不断发展以及网上信息呈几何级的增加,人们逐渐发 现手工编写包含所有信息和内容的页面对人力和物力都是一种极大的浪费, 而且几乎已经变的难以实现。此外,采用静态页面方式建立起来的站点只能 够简单的根据用户的请求传送现有页面,而无法实现各种动态的交互功能。 具体来说,静态页面有以下几个缺点【9 j : ( 1 ) 无法支持后台数据库。随着网上信息量的增加,以及企业和个人希望 通过网络发布产品和信息的需求的增强,人们越来越需要一种能够通过简单 的w e b 页面访问后台数据库的方式。这是静态页面所无法实现的。 ( 2 ) 无法有效的对站点信息进行及时的更新。用户如果希望对传统静态页 面的内容和信息进行更新或修改的话,只能够采用逐一更改每个页面的方式。 但是对于现在网上如此大量的内容和信息的更新采用这种方式则难以接收。 因此,如何及时、有效的更新页面信息也成为一个急待解决的问题。 ( 3 ) 无法实现动态显示效果。所有的静态页面都是事先编写好的,是一成 不变的,因此访问同一页面的用户看到的都是相同的内容,静态页面无法根 据不同的用户和他们的请求显示不同的页面。 为了克服静态页面的种种不足,人们将传统单机环境下的编程技术引入 互联网络与w e b 技术相结合,从而形成新的网络编程技术。网络编程技术通 过在传统的静态页面中加入各种程序和逻辑控制,在网络的客户端和服务端 实现了动态和个性化的交流与互动。人们将这种使用网络编程技术创建的页 面称为动态页面。 传统的动态页面技术主要有c g i 方式和a p i 方式。j a v a 2 平台提供了两 种动态页面技术:s e r v l e t 和j s p ( j a v a s e r v e r p a g e s ) 。下面主要介绍j s p 技术。 j s p ( j a v a s e r v e rp a g e s ) 是一种基于j a v a 的脚本技术。是在j a v as e r v l e t i j 安1 油人学颁 ? 学能论文 的基础上发展起来的。j a v as e r v l e t 的最大缺点就在于没有把业务逻辑和页面 的输出分开,导致整个s e r v l e t 代码混乱不堪。为了解决j a v a s e r v l e t 的这种缺 点,s u n 推出了j a v as e r v e rp a g e s j s p 。j s p 的主要优点是它能将h t m l 编码从w e b 页面的业务逻辑中有效地分离出来。用j s p 访问可重用的组件, 如s e r v l e t 、j a v a b e a n s 和基于j a v a 的w e b 应用程序。访问j s p 文件有两种方 式:浏览器请求j s p 文件;发送请求到s e r v l e t ,由s e r v l e t 调用或转发到 j s p 。 一般来说,在实际的j s p 引擎中,j s p 页面在执行时是编译式,而不是解 释式的。解释式的动态网页开发工具如a s p 、p h p 3 等由于速度等原因已经满 足不了当前大型电子商务应用的需要了,传统的开发技术都在向编译执行的 方式改变,如a s p a s p + ,p h p 3 一p h p 4 。如图2 - 4 所示,j s p 页面首先被解 析为s e r v l e t 的j a v a 源文件,再经过j a v a 编译器编译为s e r v l e t 的c l a s s 文件。 将j s p 编译为s e r v l e t 是为了让原先的s e r v l e t 引擎可以直接服务于j s p ,而j s p 引擎就仅仅需要将j s p 转译为s e r v l e t 就可以了。在j s p 文件转译为s e r v l e t 以后,每次客户机( 通常是用户的w e b 浏览器) 向服务器请求这一个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 l e t 了。许多服务器都有设置,可以使j s p 文件在 第一个用户访问之前就预先编译好,这样效率就更高了。 图2 4j s p 工作原理图 1 2 阳安f i i f f l 大学颁f :学倚沦文 2 3 2 i s p 开发w e b 应用的主要方式 模型l ( m o d e l 1 ) : j s p 文件负责处理浏览器的请求,调用能生成的动态内容的j a v a b e a n 或 其它组件,产生响应,返回给浏览器。b e a n 在这里主要完成数据存取等功能。 图2 - 5 说明了这种模型。 诚用 图2 5j s p 模型1 模型2 ( m o d e l 2 ) : 这种模型把j s p 与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 页需要使用 的b e a n 和对象,同时根据用户的动作决定把那个j s p 页传给请求者。而在j s p 页内没有处理逻辑,它仅负责检索由s e r v l e t 创建的对象或b e a n s ,从s e r v l e t 中提取动态内容插入静态模板。图2 - 6 说明了这种模型。 图2 - 6j g p 模型2 这薇种模型比较而言,模型i 十分适合简单应用的快速开发,但对于复 杂的大型应用,通常j s p 页丽是由网页设计人员开发并维护的,j s p 页内嵌入 p q 安4 i i e i f 人学顾伊滓侮论文 的大量的j a v a 脚本片段无法处理,这将导致角色定义不清和职责分配不明, 给项目管理带来不必要的麻烦。而模型2 是一种有效的方法,它清晰地分离 了表达和内容,明确了角色的定义以及j a v a 开发者与网页设计者的分工。事 实上,项目越复杂,使用模型2 的好处就越大【m 1 。 2 3 3j s p 、a s p 、p i - i p 的比较 目前流行的w e b 开发技术主要有三种:j s p 、a s p ( a c t i v es e r v e rp a g e s ) 、 p m ( p e m o n a lh o m e p a g e ) 。它们之间的主要差别在于以下方面】: 1 、w e b 服务器和运行平台 a s p 目前只有m i c r o s o f t i n t e m e ti n f o r m a t i o ns e r v e r ( i i s ) 和p e r s o n a lw e b s e r v e r ( p w s ) 支持。 p h p 本身就对各种操作系统和w e b 服务器做了支持,p h p 目前可以作为 a p a c h e 的一个附加模块直接编译进入a p a c h e 中去,由于a p a c h e 支持多种操 作系统,p 婶相应地也就可以在各种操作系统上实现。p h p 也可以c g i 方式 或i s a p i 方式插入到i i s 或p w s 中去。 j s p 一般用j a v a 语言来实现。j s p 可以在多种w e b 服务器和操作系统下 使用。如a p a c h e w e bs e r v e r 和m i c r o s o f t i i s 等。a p a c h ew e bs e r v e r 是世界上 占有率最高的w e b 服务器产品,可以在包括s u ns o l a f i s 、i b m a i x 、s g i i r i x 、 l i n u x 和w i n d o w s 在内的许多操作系统下运行。a p a c h ew e bs e r v e r 下j s p 的 实现可以通过免费的a p a c h ej s e r v 和g n u j s p 、j a k a r t a - t o m c a t 实现,也可以 使用商业的j r u n ( l i v e s o f t w a r e 产品) 、w e b l o g i c ( b e a 产品) 、w e b s p h e r e ( i b m 产品) 、i p l a n e tw e b s e r v e r ( s u n 产品) 来实现。m i c r o s o f t s 本身不 直接支持j s p ,但可以通过j r u n 、t o m c a t 、w e b l o g i c 、w e b s p h e r e 等来实现。 2 、组件技术 a s p 和j s p 对组件技术的支持已经很完善了,而p h p 直到前不久才开始 支持c o m 和j a v a b e a n s 。但支持也不是很完善,如果p m 不能在将来完善对 组件技术的支持,在大型w e b 应用程序方面将很难与j s p 和a s p 竞争。但由 于p 伊技术本身的易学易用,加上众多的函数支持和开放源代码的特性,在 中小型w e b 站点的开发上,p 口还是会占有一席之地的。 阿交f i 油人学预一 :学俺论文 其实,j s p 本身对于a s p 和p h p 并没有明显的优势,j s p 的强大是区i 为 其后面有强大的j a v a 技术做支持。包括j a v a b e a n s 和j 2 e e 技术在内的j a v a 技术是j s p 强大生命力的所在。m i c r o s o f t 最新推出的a s p + 技术和a s p 技术 相比有了许多激动人心的进步,但是从企业级应用的角度看,j s p 技术仍然有 相当的优势。有理由认为,在将来的w e b 开发中,中小型站点将出现j s p 、 a s p 和p h p 三分天下的局面,但是对于大型的电子商务站点,j s p 及j 2 e e 技术将成为首选。 详细的比较见表2 一l 。 表2 - 1a s p 、j s p 、p 咿的比较表 a s pj s pp h p a p a c h e 、i i s 、p w s 、a p a c h e 、i i s 、p w s 、 w 曲服务器s ,p w s n e t s c a p es e r v e r 、i p l a n e t 等n e t s c a p es e r v e r 等 各种u n ( s o l a r i s 、a i x 、各种l n ( s o l a r i s 、 运行平台 w i n d o w sl i n u x 、i r 等) 、a i x 、l i n u x 、i r w i n d o w s 、m a c o s 等等) 、w i n d o w s 等 组件技术c o mj a v a b e a n s 、e j bc o m 、j a v a b e a n s 自定义t a g 语法无有无 多家合作,包括s u n 、 开放性无i b m 、b e a 、n e t s c a p e 、自由软件 o r a c l e v b s e d p t 、j a v a 、e m a c s c d p t w e b l 脚本语言支持p h p j s m p t 等 建立大型w e b 应用可以可以不宜 程序执行速度快极快极快 学习难度低较低低 s e s s i o n 管理有有有 有、a d o 、 统一的数据库连接有、j d b c无 o d b c 后缀名a s pj s pp h p 、p 髓3 州安_ i 油人学硕 :学位论文 2 4j a v a b e a n 技术 j a v a 的软件构件称为j a v a b e a n ,或者简称b e a n 。按照j a v a s o f f 给出的定 义,b e a n 是能够在构造工具中进行可视化操作的可重用软件。j a v a b e a n 的组 件模型包含组件和容器两个基本要素,这一思想在a c t i v e x d c o m 技术中同 样存在。作为一种典型的组件模型,j a v a b e a n 具有属性、方法、事件、自我 检查、定制和永久性等6 个方面的特征。其中前3 种特征( 属性、方法、事 件) 是面向对象的组件必须满足的基本要求,属性和方法保证b e a n 成为一个 对象,而事件可以描述组件之间的相互作用以及组件与容器之间相互感兴趣 的事情。通过事件的生成、传播和处理,组件相互之间关联在一起,共同完 成复杂的任务。后三种特征( 自我检查、定制和永久性) 主要侧重于对j a v a b e a n s 组件性质的刻画。内省用于暴露与发现组件接口。使用内省机制,可以使组 件的使用者了解到组件的属性、方法和事件。由于一个组件通常是具有一定 性质和行为的对象的抽象,它往往有很大的通用性。为了在一个具体的应用 环境中使用组件,必须对组件进行定制。j a v a b e a n 的定制通常在个可视化 生成工具中进行,通过组件的内省机制,发现组件的属性、方法和事件,然 后利用生成工具提供的属性编辑器实现定制。永久性是将组件的状态保存在 永久存储器中并能够一致恢复的机制。j a v a 通过序列化( s e r i a l i z e ) 实现定制 组件的永久性存储,通过反序列化可以实现组件状态的恢复【。2 】。 j a v a b e a n s 就是j a v a 的可重用组件技术。j a v a b e a s n s 是一个特殊的类,这 个类必须符合j a v a b e a n s 规范。j a v a b e a n s 原来是为了能够在一个可视化的集 成开发环境中可视化、模块化地利用组件技术开发应用程序而设计的。a s p 通过c o m 来扩充复杂的功能,如文件上载、发送e m a i l 以及将业务处理或复 杂计算分离出来成为独立可重复利用的模块。j s p 通过j a v a b e a n 实现了同样 的功能扩充。j s p 对于在w e b 应用中集成j a v a b e a n 组件提供了完善的支持。 这种支持不仅能缩短开发时间( 可以直接利用经测试和可信任的已有组件, 避免了重复开发) ,也为j s p 应用带来了更多的可伸缩性。j a v a b e a n 组件可 以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取等。 在实际的j s p 开发过程中,和传统的a s p 或p h p 页面相比,j s p 页面将 卅安f i 油人学硕 :学化论文 会是非常简洁的,由于j a v a b e a n s 开发起来简单,又可以利用j a v a 语言的强 大功能,许多动态页面处理过程实际上被封装到了j a v a b e a n s 中。 2 5j a v a 数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年气候环境行业气候变化适应战略研究报告及未来发展趋势预测
- 2025年环保节能行业循环经济与绿色发展研究报告及未来发展趋势预测
- 2025年服装行业环保服装生产模式研究报告及未来发展趋势预测
- 2025年互联网教育产业AI技术应用与在线教育模式研究报告及未来发展趋势预测
- 2025年媒体行业社交媒体内容营销研究报告及未来发展趋势预测
- 2025年公共服务行业数字化公共服务与社会治理研究报告及未来发展趋势预测
- 2025年化学行业化学品生产安全技术研究报告及未来发展趋势预测
- 2025年互联网金融行业互联网金融模式创新与风险防范研究报告及未来发展趋势预测
- 2025年化妆品护肤行业护肤品品牌发展策略研究报告及未来发展趋势预测
- 2025年服装纺织行业可持续时尚设计与生产模式探索研究报告及未来发展趋势预测
- 企业所得税纳税申报表英译模板
- 阀门长期供货合同范本
- 农机培训会理论知识课件
- 无乳链球菌讲解
- 医院消毒液有效期管理规范
- 中医适宜技术在肿瘤科应用
- 消防维保合同挂靠协议书
- 化疗后骨髓抑制个案护理
- 2025-2030中国中医馆行业发展分析及投资风险与战略研究报告
- 菜地大棚规划方案(3篇)
- 入团考试试题及答案
评论
0/150
提交评论