《7技术转移中心办公管理平台的设计及部分模块实现.pdf》由会员分享,可在线阅读,更多相关《7技术转移中心办公管理平台的设计及部分模块实现.pdf(88页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、北京工业大学硕士学位论文技术转移中心办公管理平台的设计及部分模块实现姓名:苏哲申请学位级别:硕士专业:软件工程指导教师:蒋宗礼;郭庆栓20090501摘要摘要近年来,随着互联网技术和企业信息化建设的快速发展,使得越来越多的企业开始构建基于B S 结构的W e b 应用系统。伴随着系统需求的日益复杂,对W e b应用程序的要求也变得更加严格。如今,开发扩展性好、重用性高,易于维护和管理的应用系统已经成为W e b 开发领域的热点之一。本文结合北京市技术转移中心办公管理平台项目撰写完成。该项目是以多层B S 结构为基础构建的办公自动化平台。针对企业在日常办公、系统管理等方面的需求,本系统给出了完整
2、的解决方案。其中包括:权限控制、角色分配、办公自动化等重要功能的实现。本文介绍了实现该系统所使用的三种J 2 E E 框架(S t r u t s、S p r i n g、和H i b e m a t e),并以它们为基础详细讲述了如何实现高效的稳定的多层B S 结构。本文分析了对大量权限项目进行设置和存取时遇到的问题,并结合哈希查找法设计和实现了对权限码的高效查询和存取方式。此外,本文结合新兴的A j a x 技术和良好的W e b 设计思想完成了对用户请求的异步响应方式,同时让系统具有更强的交互性,并且当客户端浏览器出现问题,失去对A j a x 等高级功能的支持时,仍然能够提供基本的服务
3、,从而实现了对于用户更加健壮的、较之传统W e b 系统更加丰富友好的W e b 应用程序。关键词:技术转移中心;权限控制;J 2 E E 框架;A j a x北京工业大学工程硕士学位论文A b s t r a c tI nr e c e n ty e a r s,w i t ht h ep o p u l a r i 锣a n dg r e a td e v e l o p m e n to fI n t e m e t I n t r a n e t,m o r ea n dm o r ee n t e r p r i s e ss t a r tt od e v e l o pt h e
4、 i ro w nw e ba p p l i c a t i o n s T h e r eh a sb e e ng r e a t e rd e m a n df o ra p p l i c a t i o ns y s t e m sb a s e do nW e bt om e e tm o r ec o m p l i c a t e dr e q u i r e m e n t s N o w a d a y,t h ew a yt oc o n s t r u c th i g h i yf l e x i b l e,r e u s a b l e,m a i n t a
5、i n a b l ea n de a s i l ym a n a g e da p p l i c a t i o n s,i st h eh o t s p o to ft h ew e bd e v e l o p m e n td o m a i n T h ep a p e ri sb a s e do nt h eM a n g e m e n ta n dO AS y s t e mo fB e i ji n gT e c h n o l o g yT r a n s f e rC e n t e r T h es y s t e mi sb a s e do nm u l t
6、 i p l el a y e r so fB Ss t r u c t u r e I tp r o v i d e sas e r i s eo fr o u n d e ds o l u t i o n sf o ra s p e c t so fd a i l yo f f i c ea n ds y s t e mm a n a g e m e n t,w h i c hi n c l u d er i g h t sc o n t r o l,r o l ea s s i g n m e n t,o f f i c ea u t o m a t i o ne t c T h i s
7、p a p e ri n t r o d u c e st h r e eJ 2 E Ef r a m e w o r k s:S t r u t s,S p r i n ga n dH i b e r n a t e B a s e do nt h e s et e c h n o l o g i e s,i ti si n t r o d u c e dt h a th o wt ob u i l dh i g h l ye f f i c i e n ta n ds t a b l es y s t e mo fm u l t i p l el a y e r so fB S s t r
8、 u c t u r e A f t e ra n a l y s i n gt h ep r o b l e mo fo p e r a t i n gm a s so fr i g h ti t e m s,t h i sp a p e rd e s i g n sa n di m p l e m e n t st h eh i g h l ye f f i c i e n tw a yo fs e t t i n ga n ds t o r i n go fr i g h ti t e m sw i mt h ea l g o r i t h mb a s e do n“h a s hs
9、 e a r c h”A d d i t i o n a l l y,w i t hu s i n gA ja xa n dg o o dp r i n c i p l eo fw e bd e s i g n,i ti m p l e m e n t st h ea s y n c h r o n o u si n t e r a c t i o nb e t w e e nc l i e n ta n ds e r v e r A n dw h e nt h ec l i e n td o e s n ts u p p o r tt h eA ja x,t h ea p p l i c a
10、 t i o ns t i l lC a np r o v i d eb a s i cf u n c t i o nf o ru s e r,w h i c hm a k e st h es y s t e mm o r ea n i m a t e d,r i c h e ra n du s e r-f r i e n d l yt h a nt r a d i t i o n a lw e ba p p l i c a t i o n s K e yW o r d s:T e c h n o l o g yT r a n s f e rC e n t e r;r i g h t sc o
11、 n t r o l;J 2 E Ef r a m e w o r k;A j a x独创性声明本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。关于论文使用授权的说明本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有权保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部分内容,可以采用影印、缩印或其他复
12、制手段保存论文。日期:第1 章绪论第1 章绪论1 1 课题背景技术转移中心是科技市场和实施技术转移的一种高级组织形态或方式。技术转移是指制造某种产品、应用某种工艺或提供某种服务的系统知识,通过各种途径从技术供给方向技术需求方转移的过程。技术转移机构是指为实现和加速上述过程提供各类服务的机构。它们活跃于技术需求者与持有者之间,通过沟通大学、科研机构和企业间的技术流动,促进创新体系内各参与主体间互动,实现技术转移所需各类科技创新资源的优化配置和有效整合。包括技术集成与经营、技术经纪和技术投融资服务机构等。先进制造北京市技术转移中心是由北京工业大学牵头联合北京市龙头企业和其他在先进制造方面具有实力的
13、高校、科研院所共同组建的集产品研发集成、服务和中介为一体的创新服务机构。中心以加快技术转移,利用先进技术改造传统产业、发展高新技术产业,调整和优化北京市产业结构,建立以企业为主体的产学研有效结合的技术创新体系,提升北京经济与社会的高速、高效、可持续发展为建设目标,通过整合和运用高校、科研机构中的创新资源和企业的产业经验r既能直接承担产品研发的新任务,也能为其他企业提供相对完备的产品创新服务。随着计算机和网络技术的快速发展,互联网应用在全球范围内日益普及。当今社会正快速向信息化时代前进,信息系统的作用也变得越来越大。各级政府、大公司和大企业凭着雄厚的资金和人才优势加快了信息化的步伐,通过建立高质
14、量的办公自动化系统,在激烈的竞争环境下提高办公效率增强竞争力。技术转移中心的信息平台围绕“一站四库”搭建而成,即:通过统一的门户网站,提供以成果、专家、需求、中介为核心的技术服务功能。本项目是建构灵活、高效的北京市技术转移中心运作机制的必要手段。通过O A 系统的建设,能够有效提高中心的办公效率,加强内部信息的沟通,提高技术转移工作的科学性、规范性和有序性。客户关系管理系统的实施,充分体现以北京工业大学工程硕士学位论文服务为中心的思想,在技术转移服务领域客户与技术转移中心之间搭建起一座信息交流的桥梁,通过与技术转移中心门户网站的配合,可以更好地对客户信息进行跟踪管理,充分发挥成果库的作用。1
15、2 行业现状许多国家和地区高度重视技术转移服务机构的发展,将此类机构的建设看作是政府推动知识和技术创新、传播、扩散、转移的重要途径,支持、鼓励其发展壮大。下面以美国为例。1 9 8 0 年美国颁布了拜杜法案,允许联邦资助各大学的研究成果与专利独家授权或永久授权转移给产业界,以奠立保护知识产权的法律为起点,掀起了美国技术转移的浪潮。在这个飞速增长的过程中,技术转移服务机构起到了巨大的推动作用,形成了以1 6 0 家非盈利组织、2 4 0 家技术转移办公室及研究技术应用办公室、5 0 0 多家民间中介、顾问机构为主干的技术转移组织,技术转移服务业飞速发展。我国从2 0 世纪8 0 年代开始建立第一
16、批技术转移服务机构。1 9 8 7 年,中国诞生了第一个科技企业孵化器武汉东湖创业服务中心;2 0 0 0 年,科技部、教育部决定首批认定清华大学科技园等2 2 个大学科技固为“国家级大学科技园”;2 0 0 1 年,清华大学、上海交通大学等7 家大学技术转移机构被认定为“国家技术转移中心”:2 0 0 2 年,经科技部批准的全国首家网上技术市场“中国浙江网上技术市场”正式启动,由浙江省人民政府、科技部和国家知识产权局共同举办。经过2 0 多年的发展,我国已经初步建立起了相对完整的技术转移体系,技术市场已初具规模。现阶段还有很多企业采用c s 模式(即:客户端N 务器模式)的办公管理系统。而由
17、于其在部署与应用上缺乏灵活性,已经逐渐不能适应企业对于高效性的需求。作为提高企业办公管理效率的基础平台,近年来,B S 架构的W e b 办公自动化系统受到各企业高度重视,他们纷纷构建起适合于自身应用特色的办公自动化系统,从而逐步提高中小企业的工作效率并提升管理质量。第1 章绪论1 3 系统平台介绍本系统主要包括以下四个部分:1 系统登录平台:通过此模块,登录到中心服务系统中的办公管理平台系统和客户关系管理系统。2 系统管理平台:本平台包括对系统用户的管理功能、对角色和权限的管理以及用户密码管理。3 o A 系统:使用W e b 技术构建技术转移中心内部的业务办公系统。完成诸如公文传递、档案文
18、件管理、行政事务管理等业务的电子化办公功能,为技术转移中心的正常运作提供支持手段。掣4 客户关系管理系统:系统使用W e b 技术构建。本系统通过对客户信息的集中式管理和客户交流渠道的统一管理,进而在此基础之上协同服务、人才、产品与市场,充分发挥技术转移中心的服务功能。1 4 论文主要完成的工作1 需求分析对系统进行需求分析。确定系统中不同类型的用户并为每类用户分配其功能。此外还包括确定系统的开发及运行环境。2 系统设计系统模块进行对象模型设计、算法设计以及程序设计。3 系统实现本文所介绍的内容主要包括:权限系统的设计以及算法和主要代码的实现,对角色管理模块中重要应用功能的设计与实现以及在通告
19、管理模块中对应用程序架构的设计和重要功能的实现。4 系统测试本文介绍了,在系统完成后根据所编写的测试用例对系统部分功能进行的黑盒测试。北京工业大学工程硕士学位论文1 5 论文结构第1 章绪论:在绪论中主要包括课题的背景以及行业现状,并简要介绍了各个系统功能模块,在最后提出了论文的主要任务以及本人要完成的工作。第2 章J 2 E E 框架和A j a x 技术:本章介绍了系统所要使用的主要技术以及其运行原理。其中包括J 2 E E 平台的概述,以及三种J 2 E E 框架(S t r u t s,S p r i n g,H i b e r n a t e)和A j a x 技术的介绍。第3 章系
20、统总体需求:本章是对系统需求的整体分析其中包括:系统所面向的用户、系统功能结构、性能要求,安全与保密性的要求以及系统开发和运行所需要的各种软硬件环境。第4 章权限控制模块的实现:本章描述系统对权限存取的需要以及所面对的问题并提出了整体设计原则。其后根据对权限码存取特征的分析设计并实现了对大量权限存取和设置的解决方案。第5 章角色管理模块的实现:主要介绍了如何利用权限模块来完成对角色赋予权限,并结合A j a x 技术实现了角色权限的继承功能。第6 章通告管理模块的实现:本章主要介绍如何利用S t r u t s、S p r i n g 和H i b e r n a t e 三个J 2 E E
21、框架来实现通告管理模块中的通告添加用例。此外本章还介绍了如何利用权限模块与J S T L 和E L 表达式技术来实现根据用户权限活性化功能按钮。第7 章系统测试:介绍了系统的主要测试方法和测试所针对的主要功能点以及角色模块和通告模块的测试用例。1 6 本章小结本章内容为论文的绪论部分,在本章内容中详细介绍了课题背景,确定了本论文的主要任务和论文所包括系统的开发过程,分析了论文结构,为论文其他章节起到了指导作。第2 章J 2 E E 框架和A j a x 技术第2 章J 2 E E 框架和A ja x 技术本系统采用了J a v a 技术,遵循J 2 E E l 5 规范。J 2 E E 是开发
22、企业级应用的主流平台。近些年,在基于W e b 的应用领域各种J 2 E E 框架技术也广泛地流行开来。与此同时,随着W e b 2 0 时代的到来,A j a x 成为了构建W 曲应用程序的重要角色。本章将简要地介绍三种J 2 E E 框架以及A j a x 等系统所使用的关键技术。2 1J 2 E E 开发平台概述J 2 E E 是由S u n 公司在1 9 9 9 年6 月推出的构建企业系统的标准平台和环境。J 2 E E 技术的基础是J a v a2 平台的标准版,J 2 E E 巩固了标准版中的许多优点,如“W r i t eo n c e,R u na n yw h e r e”(
23、一次编写,到处运行),方便存取数据库的J D B CA P I,C O R B A 技术以及在I n t e r a c t 应用中保护数据的安全模式等等,同时还提供了对E J B(E n t e r p r i s eJ a v a B e a n s),J a v aS e r v l e t sA P I,J S P(J a v aS e r v e rP a g e s)以及U M L 技术的全面支持。由于J a v a 语言的跨平台性使得J 2 E E 获得了世界范围内的广泛支持。J 2 E E 平台提供了多层的分布式应用模型、组件重用、一致化的安全模型、以及灵活的事务控制。平台独立
24、的、基于组件的J 2 E E 解决方案不受任何厂商的产品和A P I 的束缚。2 1 1S e r v l e t 和J S P 技术S e r v l e t 是一种基于J a v a 的W e b 组件技术。它由W e b 容器管理产生动态内容。它是替代早起流行的C G I 技术的J a v aW e b 解决方案。像其他基于J a v a 的组件一样,S e r v l e t 是一种平台无关的J a v a 类,它能够被编译产生同台中立的代码,在各个支持J a v a 技术的W e b 服务器上动态地被加载并运行。容器(也称作S e r v l e t引擎)是一种W e b 服务器的扩
25、展,它用于提供对S e r v l e t 功能上的支持,S e r v l e t通过容器所支持的“请求响应”模式来与W e b 客户端进行交互。【3 5】J S P(J a v aS e r v e rP a g e r)是由S u n 公司提出一种动态网页技术标准。它是一种可以在服务器端H T M L 中嵌入J a v a 代码的脚本语言,是开发动态网站快速、有效的工具,是J a v a 平台上用于编写在H T M L,X H T M L 或X M L 中生成动态内容的W e b 应用程序技术。由于J S P 是基于J a v a 语言的,所以它拥有与平台无关的北京T 业大学丁程硕上学位
26、论文特性,使其可以无缝地运行在U n i x L i n u x 和W i n d o w s 平台。J S P 具有程序设计容易、遵循面向对象的设计思想、支持跨平台运行等特点,在开发基于W e b 的管理信息系统中将得到广泛的应用。当用户从W e b 服务器上请求J S P 文件时,W e b 服务器响应H T T P 请求,J S P引擎解释J S P 标识和小脚本,生成所请求的内容(例如,通过访问J a v a B e a n s 组件,使用J D B C 技术访问数据库,或者包含文件),并将结果以H T M L(或X M L)页面的形式发送回浏览器。J S P 引擎通常是构架在S e
27、r v l e t 引擎上面,它将J S P 文件转化成S e r v l e t 形式的源代码,再经J a v a 编译器编译成S e r v l e t(c l a s s 文件)。其运行过程如图2 1;秒弼”和”“?73”8 9 鼍移q j。器?移。穗黟彬“4 r:7。7“”9 够!震爹搿“g 舻”二?7”锈l J s P 源程序i胥S e r v l e t 字节码l17 以S e r v l e t 形式:乳:。S e r v l e t 源代码i(J S P)l巳锄磊。0l。c l a s s荔i存在貔;i 貔i z#缴鳓胁貔?黜貔蒯渤渤蠡薅麓黝荔凝l 矗瓣苏女施女彩彰磊舞爨:蓥兰
28、照女赣图2-1J S P 运行过程F i g u r e2-1P r o c e s so fJ S Pr u n n i n gJ S P 技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。2 1 2J D B C 技术J D B C(J a v aD a t a b a s eC o n n e c t i v i t y)是一组独立于数据库的统一的J a v a A P I,是J a v a2 企业版的重要组成部分,作为数据库应用程序与数据库之间的J a v a 接口,J D B C 定义了一个底层的A P I,用来支持独立于任何特定S Q
29、 L(结构化查询语言)实现的基本S Q L 功能,成为访问数据库的通用方法。它具有跨平台、可移植的优势。大多数流行的数据库产品都有J D B C 驱动程序。对于程序员,不必从头设计一个S Q LA P I,只需要了解J D B C 的接口便可以与数据库交互。J D B C 工作流程如图2 2。2 1 3J a v a B e a n 技术J a v a B e a n s 是一种基于J a v a 的软件组件,可以通过封装业务逻辑建立一整套可重复利用的对象库。在J a v a 模型中,通过J a v a B e a n 可以无限扩充J a v a 程序的功能,通过J a v a B e a n
30、 的组合可以快速生成新的应用程序。J S P 对于在W e b 应用中集成J a v a B e a n s 组件提供了完善的支持,这种支持不仅能缩短开发时间,也为第2 章J 2 E E 框架和A j a x 技术J S P 应用带来了更多的可伸缩性。对于编程人员,J a v a B e a n 可以实现代码的重复利用。】A NKA p p L i c a t i o n?,J D B CA P ISJ D B CD r i v e rM a n a g e r:J D B CD r i v e r?D a t ab a s e图2 2J D B C 工作流程F i g u r e2-2W o
31、 r k f l o wo fJ D B C2 2M V C 设计模式和S t r u t s 框架介绍2 2 1M V C 简介M V C(M o d e l V i e w C o n t r o l l e r)模式,即模型一视图一控制器模式,是一种重要的体系结构模式。它把一个应用的处理流程按照模型,视图,控制的方法进行分离解藕9 1。这三个组件各自处理自己的任务。(1)M o d e l-模型是应用程序的核心。它表示程序的逻辑,采用面向对象的方法,将问题领域中的对象抽象为应用程序对象。并封装了对象的属性和它们所隐含的逻辑。(2)V i e w:视图代表程序与用户的交互界面,它只负责处理
32、结果的显示和输入数据的收集,不包含业务逻辑的实现。(3)C o n t r o l l e r 控制器是流程控制模块,是视图与模型的接口,控制模型和视图之间的交互过程。从视图接收用户请求,分析辨别请求,并将请求的处理结果再还给视图进行显示。控制层的实现和具体应用无关。北京工业大学工程硕士学位论文图2 4 为用J a v a 技术实现M v C 模型结构的图示。、C o n t r o l l e rl S e r v t e t)、R e q u e s t。R e q u e s tp r o c e s s i n gD a t av a l i a a t i o nM o d e l上
33、B u s i n e s sl o g i cD 毒t am a n i 叫a t i o nV 确U s P)R e s p o n s eg e n e r a t i o nR e s l x m s e一D a t a b a s e S e r v i c e s图2-4 基于J a v a 技术的M V C 模型F i g u r e2-4M V Cb a s e do nJ a v a2 2 2S t r u t s 框架简介S t r u t s 是A p a e h e 基金会J a k a r t a 项目组的一个开源项目它采用M V C 模式,主要由一组相互协作的类、S
34、 e r v l e t 和J S P 组成。S t r u t s 按照M V C 的思想对应用程序的界面表示和数据的后端逻辑处理代码进行了抽象,整合了S e r v l e t 和J S P 在W e b 应用开发上的优势以建立灵活、扩展性强、利用程度高的应用系统。它的目的是为了减少运用M V C 模式来开发W e b 应用所花费的时间。S t r u t s 将S e r v l e t 和J S P 标记(属于J 2 E E 规范)用作实现的一部分。S t r u t s继承了M V C 的各项特性,并根据J 2 E E 的特点,做了相应的变化与扩展。图2 5为S t r u t s
35、对M V C 模式实现的方式。S t r u t s 为模型部分提供了A c t i o n 对象和A c t i o n F o r m 对象,A c t i o n 对象封装了具体的处理逻辑,调用业务逻辑模块,并且把响应提交到合适的V i e w 组件以产生响应。A c t i o n F o r m 对象是进行封装的J a v a B e a n s 类,它的各种属性必须要和客户请求中的各个字段名称对应,目的是完成客户请求数据的自动化获取,也就是我们不再需要和r e q u e s t,r e s p o n s e 对象进行数据交型4 7 1。通过A c t i o n F o r m
36、 对象实现了对V i e w 和M o d e l 之间交互的支持。H T T PA c t i o n图2 5S t r u t s 实现M V C 模式的方式F i g u r e2-5M V Ci m p l e m e n t e db yS t r u t s视图通过一组J S P 文件来实现。在这些J S P 文件中没有业务逻辑,也没有模型信息,理想情况下只有标签。这些标签可以是标准的J S P 标签或自定义标签,S t r u t s 扩展了自定义标签库,可以简化创建国际化用户界面的过程。目前的标签库包括:B e a n T a g s,H T M L T a g s,L o g
37、 i e T a g s,N e s t e d T a g s 以及T e m p l a t e T a g s 等。S t r u t s 中的控制器主要是它自身提供的A c t i o n S e r v l e t 和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 负责接受请求,并根据配置文件中的定义将控制转移到适当的A c t i o n 类。2 3H i b e r n a t e 持久层框架2 3 1H i b e m a t e 概述H i b e m a t e 是一个开放
38、源代码的对象关系映射框架,它对J D B C 进行了轻量级的对象封装,使得J a v a 程序员可以使用对象编程思维来操纵数据库。H i b e r n a t e可以应用在任何使用J D B C 的场合,既可以在J a v a 的客户端程序使用,也可以在S e r v l e t J S P 的W e b 应用中使用,还可以在应用E J B 的J 2 E E 架构中取代C M P,完成数据持久化的重任【1 8】。H i b e r n a t e 在J a v a 程序和数据库之间进行转换,是负责J a v a 对象和关系数据库之间映射的O R M 中间件。程序设计人员只要事先定义好对象与数
39、据库表之间的映射,然后可以用熟悉的面向对象的程序设计方法编写程序,而不用特定地转换S Q L,所有的S Q L 转换交由H i b e r n a t e 处理。使用H i b e n a t e 可以大幅度地减少开发时人工使用S Q L 和J D B C 处理数据的时间。9 北京T 业大学下程硕 j 学位论文2 3 2H i b e r n a t e 体系结构H i b e m a t e 处于数据库与应用程序之间,为应用程序提供将对象持久化到数据库的服务。它具有清晰的体系结构和良好的可扩展性。其轻量级的体系结构如图2-6 所示。图2 6H i b e r n a t e 体系结构F i
40、g u r e2-6H i b e r n a t ea r c h i t e c t u r e从图中可以看出,H i b e r n a t e 使用数据库和配置文件来为应用程序提供持久化服务。H i b e r n a t e 自身使用H i b e r n a t e p r o p e r t i e s 和X M L M a p p i n g 两类配置文件把普通J a v a 对象映射成关系数据库中的表1 8】。从而,A p p l i c a t i o n 可以通过持久化的对象类直接访问数据库,而不是必须使用J D B C 和S Q L 进行数据的操作。它的事务交由底层的数
41、据库连接管理,因此对于事务处理H i b e m a t e 具有很大的灵活性,可以使用J D B C,也可以使用J T A(J a v a 事务处理A P I)和J N D I 来管理自己的事务。在使用H i b e r n a t e 时,首先需要创建与数据库中的表对应的持久化对象,然后再通过映射文件将持久化对象中的属性与数据库表中的字段对应起来。这样就能够通过持久化对象来完成对数据库表中的数据的增加、修改、查询和删除等操作【1 5】。2 3 3H i b e r n a t eO R 映射O R(对象一关系)映射技术是H i b e r n a t e 中最为关键的组成部分 1 8】,H
42、 i b e r n a t e采用X M L 格式的文件来指定对象和关系数据之间的映射。这个映射文件被设计为易读的,并且可以手工修改的文档。映射语言是以J a v a 为中心的,这意味着第2 章J 2 E E 框架和A j a x 技术映射是按照持久化类的定义来创建的,面非表的定义。在运行时,H i b e r n a t e 将根据这个映射文件来生成各种S Q L 语句。每个持久化类都有与之相对应的映射文件,如果需要映射多个持久化类,那么既可以在同一个映射文件中映射所有类,也可以为每个类创建单独的映射文件,映射文件和类同名,扩展名为“h b m x m l”0 7】。2 4S p r i
43、n g 框架介绍S p r i n g 是一个为了简化企业级应用开发而诞生的开源框架,它使用简单的J a v a B e a n 来实现以前那些只有E J B 才能实现的功能,它是从实际项目开发经验中抽取的。简单地说,S p r i n g 是一个轻量级的I o C(控制反转)和A O P(面向切面编程)容器框架【1 1。它包含了以下特点:1 轻量级:S p r i n g 是非侵入式的框架基于S p r i n g 开发的系统中的对象一般不依赖于S p r i n g 的A P I。2 I o C 即反转控制,S p r i n g 使用I o c 来实现松散藕合,将组件之间业务对象的依赖关
44、系交给S p r i n g 框架来控制,从而提高了组件的可移植性。I o C是S p r i n g 框架的基础和精髓。3 A O P-即面向切面编程,S p r i n g 对面向切面编程提供了强大支持通过将业务逻辑从系统服务中分离出来,实现了内聚开发。系统对象只做它们该做的业务逻辑,而不用关心其它系统问题。4 容器:S p r i n g 是一个容器,它包含并且管理系统对象的生命周期和配置。相对于传统的重量级E J B 容器,S p r i n g 容器是轻量级的【2】o5 框架:S p r i n g 框架使简单的组件配置和组合复杂的应用都成为可能。在S p r i n g 中,应用对
45、象被声明式的组合,典型的组合方式是应用对象被声明式地组合在一个X M L 文件里。S p r i n g 也提供了很多基础功能如事务管理、持久性框架集成等,将应用逻辑开发留给了开发者。S p r i n g 的所有这些特性使应用系统的开发更为简单,代码更为清晰,更易于管理,更易于测试。北京工业大掌I:程坝十学位论文2 5A i a x 技术2 5 1A j a x 概述A ja 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”。这个名词首次被J e s s eJ a m
46、 e sG a r r e t t 于2 0 0 5 年2 月提出。它并不是一种单一的技术而是各种概念和技术的组合。它代表了一种新的更加丰富的W e b 交互方式。A j a x 是浏览器与后端服务器进行异步通信的手段,并通过它使得W e b 应用程序的与用户之间实现更强的互动性。A j a x 所包含的主要技术有:1 J a v a s c r i p t 脚本:J a v a s c r i p t 是在多种浏览器上通行的脚本语言,是实现A j a x 应用的关键技术。它负责调用浏览器中与服务器端通信的对象和各种方法,处理从后台返回的数据信息并把结果呈现给用户。2 C S S 级联样式表:
47、C S S 的主要作用是提供统一的方法来定义网页文档中各个元素的显示样式与风格。在A j a x 应用中,可以通过J a v a s c r i p t 来操作C S S 将网页以不同的方式显示给用户。3 D O M 模型:D O M 即“文档对象模型”。它可以用于在网页文件中描述文档的各个元素内容以及元素之间的关系。浏览器可以通过J a v a s c f i p t语言来操作文档模型中元素的行为。4 X M L H t t p R e q u e s t 对象:X M L H t t p R e q u e s t 最早由微软引入了的I E 5 0 中,近些年又被各种主流浏览器所实现。它的
48、主要功能是异步地向服务器端发送h t t p 请求并获取服务器返回的数据。它是A j a x 应用的核心对象。如今A i a x 的含义已经更加广泛,它可以指所有能够异步地从服务器端更新数据到客户端的技术。但到目前为止以J a v a s c f i p t 和D O M 等技术来实现A j a x 应用仍然是主流方式。2 5 2A j a x 与传统W e b 应用的比较传统的W e b 应用程序中当浏览器向服务器请求一个动态页面时,这个请求针对的是一个完整的页面。服务器生成整个页面的H T M L 代码返回给客户端。浏览器接收到返回代码后,会放弃当前全部页面的内容来重新载入新的页面。这种方
49、式被称为“同步模式【3 9 1,它的过程十分简单但也会造成不必要的消耗。服务器端经常会多次创建一个与用户当前页面相差不多的新页面。其中相1 薹:耋:耋茎耋茎茎查同的部分会大量地占用网络的带宽资源。并且与此同时,用户无法在等待服务器响应的过程中继续使用应用程序。图2 7 示意了在等待请求返回时客户端浏览器处于的空白状态。图2 0 等待服务器端返回页面时的白版状态F i g u r e 2-7 B l o c k e ds t 吐e o f w e b p a g e w h e n w a i t i n g f o r r e s p o n s e f r o ms e l v e r对于用
50、户而言,传统W e b 应用中最大的问题不是响应请求时间的长短,而是从提交请求到接收响应的时间内用户只能等待而无法进行操作。圈2-8 示意了传统同步模式下W e b 程序的请求和响应过程。图2+8 传统W e b 应用下同步的请求与响应模式F i g u r e2-8 T r a d i t i o n a ls y n c h r o n o u s W e br e q u e s t r e s p o n s e m o d e l1 3 北京工业大学工程硕士学位论文图中示意了每个请求与响应的过程都会有一段灰色的部分代表用户需要等待的时间。一种更好的策略是W e b 客户端可以只向服务