(地图学与地理信息系统专业论文)基于spring和arcims的webgis开发方法研究.pdf_第1页
(地图学与地理信息系统专业论文)基于spring和arcims的webgis开发方法研究.pdf_第2页
(地图学与地理信息系统专业论文)基于spring和arcims的webgis开发方法研究.pdf_第3页
(地图学与地理信息系统专业论文)基于spring和arcims的webgis开发方法研究.pdf_第4页
(地图学与地理信息系统专业论文)基于spring和arcims的webgis开发方法研究.pdf_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

华东师范丈学硕士论文 摘要 摘要 随着人们对地理信息需求的不断增长和i n t e r n e t 技术的快速发展,g i s 技 术与i n t e r n e t 技术相互融合形成了w e b g i s 。w e b g i s 应用越来越普及,已经渗透 到各个应用领域。 w e b g i s 的开发目前存在有很多开发方式,就实现方式的不同可以分为基于 服务器端的c g i 方法、s e r v e ra p i 方法,基于客户端的p l u g i n 方法、j a v aa p p l e t 方法以及a c t i v e x 方法;就开发层次的不同可以分为底层开发和基于w e b g i s 软 件的二次开发。对于如何快速的开发出高效健壮的w e b g i s ,已成为w e b g i s 研究 的热点之一。 论文文运用了j a v a 的s p r i n g 开源框架和e s r i 公司的w e b g i s 平台a r c i m s 相结合的方式来构建w e b g i s 。其中运用a r c i m sj a v ac o n n e c t o r 连接器作为 w e b g i s 功能的实现方式,运用s p r i n g 框架对整个框架进行管理,充分运用s p r i n g 框架的分层架构的优势,把w e b g i s 的表现层、业务逻辑层和数据层进行分离, 使w e b g i s 具有多层次、模块化、可扩展、易移植且平台独立性强的优点,为快 速开发出健壮高效的w e b g i s 系统提供一种有效的解决方案。 论文在w e b g i s 各层的实现上都提供了有效的解决方式。在数据层上,对于 空间和非空间数据采用不同的访问方式,空间数据的访问调用a r c i m sa p i 来实 现,而非空间数据运用j d b c j d o 访问关系数据库来实现;在业务逻辑层上运用 s p r i n gi o c 设计模式对功能代码进行有效的管理和灵活的配置;在表现层上运 用了s p r i n gm v c 实现了表现和业务逻辑的分离,以及运用了x m l x s l 技术使页 面能更灵活的定制。 论文把s p r i n g 框架这种轻量级的j 2 e e 架构运用于w e b g i s 系统的设计中, 既使系统有多层结构的优点,又避免了e j a 带来的复杂性。并且运用了x m l x s l 来代替h t m l 来实现界面的设计,使界面能更加灵活的定制。 关键词;w e b g i s ,a r c i m s ,s p r i n g ,m v c ,x m l 华东师范大学硕士论文 a b s t r a c t w i t l lt h eg r o w i n gd e m a n df o rg e o g r a p h i ci n f o r m a t i o na n dt h er a p i dd e v e l o p m e n t o f i n t e m e tt e c h n o l o g y ,w e b g i s ,a sac o m b i n a t i o no f g i st e c h n o l o g ya n di n t e r n e t t e c h n o l o g y ,i sb e c o m i n gi n c r e a s i n g l yp o p u l a ra n dh a sp e n e t r a t e di n t ov a r i o u sf i e l d so f a p p l i c a t i o n d i f f e r e n tm e t h o d se x i s ti nt o d a y sw e b g i sd e v e l o p m e n t b yd i f f e r e n t i m p l e m e n t a t i o nm e c h a n i s m ,w e b g i sd e v e l o p m e n tc a nb ec l a s s i f i e di n t oc g i ,s e r v e r a _ p id e v e l o p m e n tb a s e do ns e r v e l m o d e a n dp l u g - i n , j a v aa p p l e ta n da c t i v e x d e v e l o p m e n tb a s e do ns e r v e rm o d e :b yd e v e l o p m e n tl e v e l ,w e b g i sd e v e l o p m e n ti s d i v i d e di n t of u n d a m e n t a ld e v e l o p m e n ta n ds e c o n d a r yd e v e l o p m e n t i tb e c o m e s h o t s p o ti nr e c e n tr e s e a r c ho nw e b g i sd e v e l o p m e n tt h a th o wt om a k eh i g h - e f f i c i e n c y a n dr o b u s tw e b g i sd e v e l o p m e n t t l l i sp a p e ri n t r o d u c e st h em e t h o d o l o g yt ob u i l daw e b g i sa p p l i c a t i o nu s i n g s p r i n gf r a m e w o r ka n de s r ia r c l m sp l a t f o r m i nt h ea p p l i c a t i o n , a r c l m sj a v a c o n n e c t o ri su s e da st h et o o lf o rt h ei m p l a n t a t i o no f w e b g i sf u n c t i o n s ,a n ds p r i n g f r a m e w o r kp l a y st h er o l eo f am a n a g e ro f t h ew h o l e k b g i sa p p l i c a t i o nf r a m e w o r k f u l l ye n j o y i n gt h ea d v a n t a g e so f t h ei l i 啪r c h i c a ls t r u c t u r eo f i t s e l f , s p r i n gf r a m e w o r k s e p a r a t e st h ev i e wp e r f o r m a n c el a y e r , b u s i n e s sl o g l el a y e ra n dd a t aa c c e s sl a y e r i n d e p e n d e n t l y ,m a k e sam u l t i l e v e l ,m o d u l a r ,e x t e n s i b l e ,e a s yt ot r a n s p l a n t , i n d e p e n d e n tp l a t f o r m 、e b g i sa p p l i c a t i o np o s s i b l e a n dp r o v i d e sa ne f f e c t i v es o i n t i o n f o rq u i c k l yd e v e l o p i n gah i g he f f i c i e n c ya n dr o b u s tw e b g i ss y s t e m e f f e c t i v es o l u t i o n sf o rr e s p e c t i v el a y e r sa r ei n t r o d u c e di nt h i sp a p e r i nt h ed a t a a c c e s sl a y e r , d i f f e r e n tm e t h o d so f d a t aa c c e s sa r ea d o p t e df o rs p a t i a ld a t aa n d n o n - s p a t i a ld a t a , s p a t i a ld a t aa c c c s sc a l i sa r c l m sa p ia n dn o n - s p a t i a ld a t au s e s j d b c j d 0t oa c c e s st h er e l a t i o n a ld a t a b a s e ;i nt h eb u s i n e s sl o g i cl a y e r , d e s i g n p a t t e mo fs p r i n gi o c c o n d u c t se f f e c t i v em a n a g e m e n ta n df l e x i b l ec o n f i g u r a t i o nf o r f u n c t i o n a lc o d e ;i nt h ev i e wp e r f o r m a n c el a y e r s p r i n gm v cs u c c e s s e si ns e p a r a t i n g t h ep e r f o r m a n c el a y e ra n dl o g i cl a y e r , a n ds u p p o r t e db yx m l x s lt e c h n o l o g y ,m o r e f l e x i b l ec u s t o m i z a t i o na n dd e s i g nf o rw e b p a g e si sp o s s i b l ei nw e b g i ss y s t e m n 玲p a p e rp r e s e n t st h em e t h o d o l o g yo f i n t e g r a t i n gs p r i n g s u c hal i g h t w e i g h t j 2 e es t r u c t u r ei n t ot h ew e b g i sd e s i g nw h i c hf u l l ye n j o y st h ea d v a n t a g eo f m u l t i 1 e v e ls t r u c t u r ea n da v o i d st h ec o m p l e x i t yu s i n ge j bs t r u c t u r e m o r e o v e r , x m l x s li n s t e a do f h t m lp r o v i d e sam o r ef l e x i b l es o l u t i o ni nw e b p a g ed e s i g n a n dc u s t o m i z a t i o ni nw e b o l s k e y w o r d s :w e b g i s ,a r c l m s ,s p r i n g ,m v c , x m l 学位论文独创性声明 本人所呈交的学位论文是我在导师的指导下进行的研究工作及取得的研究 成果。据我所知,除文中已经注明引用的内容外,本论文不包含其他个人已经 发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在 文中作了明确说明并表示谢意。 e t j l l :毕 学位论文使用授权声明 本人完全了解华东师范大学有关保留、使用学位论文的规定,学校有权保 留学位论文并向国家主管部门或其指定机构送交论文的电子版和纸质版确。权 将学位论文用于非赢利目的的少量复制并允许论文进入学校图书馆被查阅有 权将学位论文的内容编入有关数据库进行检索。有权将学位论文的标题和摘要 汇期i l l t i 版。保密的学位论文在解密后适用本规定。 学位做作者签名矜拈氏导师妣秉健辛 隰坞止眺巡中 华东师范大学硕士论文 第一章绪论 1 1 选题背景 第一章绪论 1 1 1 当前w e b g i s 的开发方法及存在问题 i n t e r n e t 的诞生使社会信息化进入一个全新的发展阶段。随着i n t e r n e t 技 术的迅速发展和在全球范围内的普及,i n t e r n e t 已不仅仅是一种单纯的技术手 段,它已演变成为一种新的经济方式网络经济,i n t e r n e t 不但方便了我们 日常的生活和工作,更是改变了现代人们的生活和工作方式。i n t e r n e t 技术的 迅速发展和在全球范围内的普及,同样对g i s 行业的发展产生了极大的影响。大 量的g i s 应用正由传统的单机方式、c s 方式( 客户机服务器) 向8 s 方式( 浏览 器服务器) 转移,利用i n t e r n e t 在w e b 上发布空间数据,为用户提供空间数据 浏览、查询和分析等功能服务,已经成为g i s 发展的必然趋势。g i s 技术和 i n t e r n e t 技术的融合,形成了一种新的技术,这便是w e b g i s 。w e b g i s 以其良好 的可扩展性、跨平台性、平衡高效的计算负载等诸多优点迅速成为g i s 的一个重 要的发展方向 1 - s j 。 从w e b g i s 概念提出至今,对于如何来构建w e b g i s ,先后提出了很多种的开 发方式,如基于服务器端的c g i 、s e r v e ra p i 开发方式,基于客户端的p l u g i n 、 a c t i v e x 、j a v aa p p l e t 开发方式”1 。c g i 开发方式由于每次接受客户端的h t t p 请求都要在服务器端新开辟一个新的进程来进行处理,过多的占用了的服务器资 源,执行效率不是很高,在现在w e b g i s 开发中用的不是很普遍。p l u g i n 、 a c t i v e x 、j a v aa p p l e t 这些开发方法都是基于客户端的,j a v aa p p l e t 开发方法 必须要求用户要安装有相应版本的j r f ( j a v a 运行环境) ,并且要下载j a v a a p p l e t 程序,给用户的使用带来不便,如果j a v aa p p l e t 程序很大的话下载速 度会很慢;a c t i v e x 和p l u g - i n 都要用户先安装才能使用,同样对用户使用带来 不便,并且在跨平台方面做的不好。鉴于以上各种开发方法存在的不足,基于服 务器端的s e r v e ra p i 开发方式成为开发w e b g i s 的主流,这种开发方式和c g i 开发方式很相似,所不同的是c g i 程序是可以单独运行的程序,而基于服务器应 用程序接口( s a p i ) 的程序必须在特定的服务器平台上运行( 如i i s 、t o m c a t 等) , 因为基于服务器a p i 的动态连接模块启动后一直处于运行状态,而不象c g i 那样 每次都要重新启动,速度要比c c i 方法快很多“。1 “。 随着w e b g i s 应用越来越广,并且很多已经广泛应用于很多企业级系统 华东师范大学硕士论文第一章绪论 中,w e b g i s 系统对移植性、扩展性以及与其他业务系统进行无缝集成提出了更高 的要求。用传统的开发方法开发基于s e r v e ra p i 方式的w e b g i s 系统会遇到软件 开发中的一些普遍的问题,比如事务管理、异常处理等基础功能的实现非常复杂、 业务逻辑和显示怎么实现分离来使系统更加灵活、功能代码怎么实现高效重用和 灵活性等等,这些问题实现起来非常复杂,如何没有很好的设计会带来系统应用 失败的危险。 1 1 2 应用软件框架开发系统的基本方法及特点 为了解决传统开发方法所遇到的一系列问题,建立一个稳定高效的企业级应 用,软件框架被应用到系统的开发中。软件框架是一个可重用的、半成品的程序, 提供可重用服务的基础架构“”,已经实现了很多的基础功能,并且对应用的各个 层面都提出了很好的设计和解决方案。现在主要的w e b 方面的软件框架有 m i c r o s o f t 公司提出的n e t 框架和s u n 公司提出的j 2 e e 框架。 在运用软件框架进行开发的过程中,如事务管理这种基础的功能都已经实 现,在使用的时候只要用x m l 来配置装载到系统中。并且为功能代码的管理提出 一定的解决方案来使代码更加灵活和可扩展性,以及为数据库访问、参数传递、 异常处理方式等问题都会有相应的解决方式。 对比传统的开发方式,运用现有的软件开发框架作为中间件的形式进行系统 开发有很多优点: ( 1 ) 降低了系统开发的风险,提高了系统开发的成功率 软件框架实现了很好的设计模式,并且被应用于很多应用中,被实践证明是 成熟和稳定的,有利于建立成熟稳定的w e b g i s 系统。 ( 2 ) 缩短了开发周期和节约了开发成本 软件框架实现了很多基础的通用功能,在软件框架基础上进行开发,可以节 省很多用于像事务管理、异常处理、数据库访问等一些基础通用的功能开发所花 费的时间,大大缩短了开发周期,节约了开发成本。 ( 3 ) 提高了系统的可维护性和可扩展性 由于软件框架运用了很多成熟的设计模式,使得系统得代码非常清晰,易于 维护,并且留有很多接口,运用配置文件来配置应用,使得系统具有良好的可扩 展性。 ( 4 ) 提高了系统的重用性 软件框架使用多层结构,使得系统面向组件化,运用框架进行开发可以大大 华东师范大学硕士论文第一章绪论 提高系统功能的重用性。 1 2 国内外研究现状 关于运用现有软件框架进行w e b g i s 开发的研究在国内外有很多研究,总的 来说分为两大类:n e t 方面和j 2 e e 方面,这也是现在解决w e b 应用的两种最流 行的方案。 n e t 是m i c r o s o f t 公司提出的企业级解决方案,运用n e t 自身语言如c # 、 v b n e t 进行开发。n e t 方面:张胜、康志伟的关于基于n e t 技术的w e b g i s 系 统的设计与实现1 ;李育森、钱跃良、刘金刚的关于基于n e t 和m a p o b j e c t s 的w e b g i s “”;陈踊、黄丙湖的关于基于n e t 和a r c l m s 的w e b g i s 设计与实现“”, e s r i 公司的a r c g i ss e r v e r 为n e t 提供了应用开发框架等等。 j 2 e e 是s u n 公司提出的解决企业级应用的一些列技术的总称,包括 j s p s e r v l e t j d b c e j b 等等。并且j a v a 各种开源社区也提出了很多开源框架, 如s p r i n g 、s t r u t s 、h i b e r n a t e 等等,这些开源框架极大的补充了s u n 公司的 j 2 e e 技术,在应用方面也得到了快速的推广。j 2 e e 方面:胡卫国、王泽兵的关 于基于j 2 e e 的w e b g i s 研究与应用“”;栋材、张锦的关于基于j 2 e e 的w e b g i s 平 台系统设计与应用开发“”;宋倩、陈佳的关于基于s t r u t s 架构的管理信息系统 中w e b g i s 的应用研究“”;阮萍的关于基于j 2 e e 的配电网w e b g i s 研究与实现“”, a r c g i ss e r v e r 里为j 2 e e 提供了应用开发框架,并且集成了j s f 框架。 运用n e t 平台来构建w e b g i s 是一种很好的解决方案。n e t 平台以其可视 化编程,开发周期短的优势在很多应用上得到了推广,但是n e t 平台也存在着 一些缺点,无法跨平台,只能在w i n d o w s 环境下运行,在一些w e b g i s 应用如需 要使用l i n u x 、u n i x 平台时就不能被使用。 j a v a 技术以其跨平台的特性,实现了一次编写、到处运行( w r i t eo n l y ,r u n e v e r y w h e r e ) 得到了很快的推广,也广泛的应用在w e b g i s 的开发方面。如上面 所示,运用j 2 e e 或者s t r u t s 框架进行w e b g i s 的构建。不过这些方案来解决 w e b g i s 的开发都存在一些不足之处:s u n 的j 2 e e 框架提供了系统构建的完整的 解决方案,为开发出健壮稳定、可重用、可扩展的w e b g l s 系统提供了一个良好 的平台,但是j 2 e e 的核心技术e j b 非常复杂,开发一个j 2 e e 框架下的w e b g i s 系统需要花费较大的投入,在一般较小的系统中不是特别的适用。s t r u t s 框架 运用了m v c 模式将系统的显示部分( 视图) 和业务逻辑的处理( 模型) 强行的分 开,使代码更加清晰和易于维护,并且提供了很多标签库来简化显示部分的的开 发。但是s t r u t s 只是为业务逻辑和显示的分离以及显示层的实现提供了解决方 案,并没有为业务逻辑层提供解决方案,经常是和其他的框架组合开发应用系统。 华东师范大学硕士论文第一章绪论 为了避免j 2 e e 开发中e j b 的带来复杂性,简化j 2 e e 的开发,在2 0 0 2 年r o d j o h n s o n 提出了w i t h o u te j b 的口号。“,并创建了s p r i n g 框架以在一些系统中 替代e j b ,s p r i n g 框架是一个轻量级的框架,提供了构建w e b 企业级应用所需要 的完整的解决方案,运用简单的j a v a 对象( p o j 0 ) 来实现以前只有e j b 才能使 现的功能,迅速在很多应用中得到应用和推广。论文运用s p r i n g 框架,以a r c i m s 作为w e b g i s 服务器来设计w e b g i s 的总体框架。 1 3 论文的研究内容 1 3 1 研究目标 论文文立足于s p r i n g 框架和e s r i 公司的a r c i m s 的w e b g i s 平台,设计出基 于s p r i n g 和a r c i m s 的w e b g i s 的总体框架。把w e b g i s 系统和j a v a 的轻量级框 架s p r i n g 结合起来,充分运用了s p r i n g 框架的优点,既使w e b g i s 系统层次清 晰和具有良好的可维护性和可扩展性,又简化了j 2 e e 开发。为快速开发出高效 健壮的w e b g i s 系统提供一种可行的解决方案。 1 3 2 研究内容 运用s p r i n g 和h r c i m s 提供的技术实现方法对w e b g i s 开发过程中要实现的 的关键技术提出了相应的解决方案。 对s p r i n g 和a r c i m s 框架下的w e b 6 i s 进行了设计,并对各个部分运用代码 进行了具体的实现。 以崇明生态岛的数据为例,运用设计的w e b g i s 框架具体实现崇明生态岛 w e b g i s 系统 1 3 3 论文组织 第一章介绍论文的选题背景,现阶段国内外的研究现状以及现阶段研究现状 存在的一些不足之处,并介绍了论文的研究内容。 第二章介绍s p r i n g 的总体结构以及s p r i n g 核心技术,h r c i m s 体系结构以 及各个模块的功能和组成。 第三章介绍w e b g i s 开发的关键技术。包括实现功能代码的灵活配置、功能 代码与页面的分离以及页面的灵活定制。 4 华东师范大学硕士论文第一章绪论 第四章介绍了基于s p r i n g 的w e b g i s 设计与开发。其中w e b g i s 设计包括总 体设计、界面设计、功能模块设计。w e b g i s 开发介绍了各个功能模块的具体实 现。 第五章介绍了运用s p r i n g 实现的w e b g i s 框架的具体应用。 第六章对全文进行了总结,提出了论文的创新点以及进一步的研究内容。 华东师范大学硕士论文 第二章绪论 第二章s p r i n g 和a r c l m s 介绍 2 1s p r i n g 介绍 s p r i n g 架构是2 0 0 2 年j a v a 开源组织推出的一种轻量级的多层结构,至今 发展到s p r i n g2 0 ,s p r i n g 为构建j 2 e e 系统提供了一系列解决方案,核心技术 包括s p r i n gi o c 以及s p r i n gm v c 等等。 2 1 1s p r i n g 总体架构 s p r i n g 框架由七个独立的模块所组成,如图2 1 所示,其核心模块是它的核 心容器( s p r i n gc o r e ) 模块。其它模块的实现都是构建在核心容器( s p r i n g c o r e ) 模块之上。核心容器定义创建、配置和管理b e a n 的方式,提供了s p r i n g 框架 的核心功能,其主要组件是b e a n f a c t o r y ,它以工厂模式来实现,是一个轻量级 组件,s p r i n g 框架通过该组件加载所有类。应用上下文( s p r i n gc o n t e x t ) 模 块扩展了核心容器模块的功能,也是基于工厂模式实现,用于解决更复杂的b e a n 的创建、配置和管理。数据访问接口( d a o ) 模块提供了连接数据库接口,它是 对j d b c d a o 进行了简单的封装,让访问数据库的代码更为简洁。对象关系映射 ( o r m ) 模块提供了o p a l 映射工具接口,其中包括j d o 、h i b e r n a t e ,i b a t i s 等主 流o r 映射框架的接口。a o p 模块提供了面向切面编程( a o p ) 的接口。w e bm v c 模块是一个功能齐全的构建w e b 应用的m v c 实现,通过接口,m v c 框架变成了高 度可配置的m v c ,容纳了大量视图技术,其中包括j s p 、v e l o c i t y 、t i l e s 等。w e b 模块提供了网络应用上下文( w e b a p p l i c a t i o nc o n t e x t ) 的配置以及其他m v c 框架的接口,如s t r u t s 、w e b w o r k 等”“。 6 华东师范大学硕士论文第二章绪论 图2 1s p r i n g 总体框架 s p r i n g 框架的主要优势就是其分层架构,这使组件开发成为可能。作为一个 分层结构的框架,s p r i n g 涵盖了j 2 e e 应用系统开发中所涉及的大多数技术范畴, 包括m v c 、o r m 和r e m o t ei n t e r f a c e 等,这些技术贯穿了大多数应用系统的开发 过程。并且s p r i n g 从开发者的角度对这些技术内容进行了封装和抽象,使得应 用开发更为简便。在实际开发工作中,借助于s p r i n g 提供的丰富类库,相对于 传统开发模式,可节省大量编码。 2 1 2s p r i n g 核心技术 2 1 2 1s p r i n gi o c i o c ,i n v e r s i o no fc o n t r o l ,控制反转,也称为依赖注入,这种设计思想 是把系统中所有的组件都变成被动的,所有的组件初始化和调用都由容器负责。 组件处在一个容器当中,由容器负责管理,其目标是将组件的配置与使用分离开。 根据实例传入方式的不同,i o c 分为接口注入、设值方法注入和构造子注入 三种方式。在三种方式分别用代码说明如下: 接口注入 p u b l i ci n t e r f a c eg e t c l a s s b v o i dg e t c l a s s b ( i c l a s s bi n s t a n c e o f c l a s s b ) : c l a s sc l a s s ai m p l e m e n t sg e t c l a s s b i c l a s s bi n s t a n c e o f c l a s s b : 华东师范大学硕士论文第二章绪论 v o i dg e t c l a s s b ( i c l a s s bi n s t a n c e o f c l a s s b ) t h i s i n s t a n c e o f c l a s s b = i n s t a n c e o f c l a s s b : 设值方法注入 c l a s sc l a s s a i c l a s s bi n s t a n c e o f c l a s s b : p u b l i cv o i ds e t f i n d e r ( i c l a s s bi n s t a n c e o f c l a s s b ) t h i s i n s t a n c e o f c l a s s b = i n s t a n c e o f c l a s s b : 构造子注入 c l a s sc l a s s a c l a s s bi n s t a n c e o f c l a s s b : p u b li cc l a s s a ( i c l a s s bi n s t a n c e o f c l a s s b ) t h i s i n s t a n c e o f c l a s s b = i n s t a n c e o f c l a s s b : 2 1 2 2s p r i n gm v c m v c ( m o d e l 、v i e w e r 、c o n t r o l l e r ) 是一种设计模式,它强制性的把应用程序 的输入、处理和输出分开。应用程序被分成三个核心部件:模型、视图、控制器, 它们各自处理自己的任务。 模型表示企业数据和业务规则。在m v c 的三个部件中,模型拥有最多的处理 任务。它用象e j b 和j a v ab e a n 这样的组件对象来处理数据库。被模型返回的数 据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。 由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重 复性和提高了代码的可重用性。 视图是用户看到的与之交互的界面。对传统的w e b 应用程序来说,视图就是 由h t 儿元素组成的界面,在新式的w e b 应用程序中,h t m l 依旧在视图中扮演着 重要的角色,但一些新的技术已层出不穷,它们包括m a c r o m e d i af l a s h 和 x h t m l ,x m l x s l ,w m l 等一些标识语言如何处理应用程序的界面变得越来越有 挑战性。 f v c 一个大的好处是它能为你的应用程序处理很多不同的视图。在视图 中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作 为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。 8 华东师范大学硕士论文第二章绪论 控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击 w e b 页面中的超链接和发送h t m l 表单时,控制器本身不输出任何东西和做任何 处理。它只是接收请求并决定调用哪个模型去处理请求,然后用决定用哪个视图 来显示模型处理返回的数据。 m v c 的处理过程中,首先由控制器接收用户的请求,并决定应该调用哪个模 型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器 用相应的视图格式化模型返回的数据,并通过视图呈现给用户”。 s p r i n gm v c 的实现严格执行m v c 设计模式,具体的实现过程如图2 2 所示。 当客户端发送一个h t t p 请求到服务器端,首先要通过前端控制器( d i s p a t c h e r s e r v l e t ) 判断请求格式是否符合正确的请求格式,如果不是,则直接返回给客 户端,如果格式正确则把请求发给控制器匹配器( b e a n n a m eh a n d l e m a p p i n g ) 来 选择由那个控制器处理,把请求发给这个控制器( h 0 m e c o n t r 0 1 l e r ) 控制器 ( h o m e c o n t r o l l e r ) 进行处理并返回一个模型视图( m o d e l a n d v i e w ) 对象,交给 视图渲染器( i n t e r n a l r e s o u r c ev i e w r e s o v e r ) 决定用哪种方式进行渲染。视图 ( i n t e r n a l r e s o u r c ev i e w r e s o v e r ) 返回一种渲染方式,如j s p 、v e l o c i t y 、p d f 等等,交给具体的视图( v i e w ) 进行处理,并把结果返回给用户。在这里控制器 匹配器和主控制器充当着控制器的作用,在主控制器里面调用模型( p 叮0 ) 来实 现,视图渲染器和视图则作为视图部分展现给用户。s p r i n g 的m v c 框架支持多 个控制器,每个具体的功能模块对应一个定义的控制器,这样系统更加清晰,更 容易管理。 图2 2s p r i n gm v c 结构 9 华东师范大学硕七论文 第二章绪论 2 2a r c l m s 介绍 a r c l m s ,全称a r c g i si n t e r n e tm a ps e r v e r ,是e s r i 公司推出的基于网上地 图发布和分布式g i s 的新一代产品。它可以集中建立大范围的g i s 地图、数据和 应用服务,并将这些结果提供给组织内部或i n t e r n e t 上的广大用户。应用a r c l m s 能够随时扩展服务器,以满足日益增长的请求。 a r e l m s 最新版本为a r c l m s9 2 ,在a r c i m s 9 2 之前,a r c l m s 是a r c g i s 里的 一套独立的产品,有自己独立的a p i ,在a r c l m s 9 2 之后,a r c l m s 整合到a r c g i s s e r v e r 中1 。 2 2 1a r c l m s 体系结构 a r c l m s 属于典型的b s 结构,如图2 3 所示。他有两大部分组成:客户端 和服务器端。客户端浏览器可以使用通用浏览器如m i c r o s o f t 公司的i e 和 m o z i l l a 的f i r e f o x ,也可以是专用浏览器如e s r i 公司的a r c e x p l o r e 等。还可 以根据需要灵活定制。服务器端组件有:a r c l m s 空间服务器、a r c l m s 应用服务 器、a r c i m s 连接器和a r c l m s 管理工具。客户端向服务器发送请求,服务器处理 请求信息向客户端返回相应信息,然后客户端呈现所接受到的信息”。 潮览嚣 客产鞠千 暇务罂媸上 w 疆务善 管 理_ a r c l m s 工 c o t o o c j o g s 空 _ 一 嗣 奠 鞭 废用量务鼍卜 务 r ;= 三= 1 广石t = 卜 曩 图2 3a r c l m s 体系结构 2 2 2a r c l m s 空间服务器 空间服务器是a r c l m s 的核心,它负责读取、绑定空间数据,并把他们转化为 正确的格式传递给浏览器。主要有以下几种类型: 1 0 华东师范大学硕士论文第二章绪论 ( 1 ) i m a g es e r v e r :地图在服务器端生成,以图像格式( j p e g 、p n 6 、g i f ) 传 递给客户端。地图图像可以从s h a p e 文件、a r c s d e 数据集和支持的图像格式生 成。 ( 2 ) f e a t u r es e r v e r :服务器从s h a p e 文件和a r c s d e 数据集读取数据,并转 换为经过数据压缩和流化的矢量格式( a r c x m l ) 传递给客户端。 ( 3 ) o u e r ys e r v e r :用来返回对空间数据的查询结果。这种查询可以针对 s h a p e 文件、a r e s d e 数据和联结的外部表。 ( 4 ) g e o c o d es e r v e r :它是根据地址、交叉路口或地名,在地图上确定点位。 它基于s h a p e 文件和a r c s d e 数据集中包含的地址信息实现该功能。 ( 5 ) e x t r a c ts e r v e r :根据客户端的请求,从服务器端( s h a p e 文件或s d e 的 图层) 抽取指定的数据,把该数据以压缩过的s h a p e 文件格式返回给客户端。 ( 6 ) m e t a d a t as e r v e r :用于建立一个集中的在线的元数据知识库,实现 i n t e r n e t 上元数据的发布与浏览。 除了以上六种类型外,a r c i m s 空间服务器还有两个重要的扩展类型: ( 1 ) r o u t es e r v e r :集成了高效的路径分析功能。使用者可以快速地取得点对 点的方向导引,以及利用时间与距离算出最理想的路线。 ( 2 ) a r c m a ps e r v e r :用于在i n t e r n e t 上共享在a r c g i s 中( 通过a r c m a p 或 a r c g i sp u b l i s h e r ) 制作的地图数据,从而完成高质量的专题图制作和打印功能。 使用a r c m a p s e r v e r ,m c l m s 通过m x d 或p m f 文件可以支持更多的数据格式,包 括空间数据库的要素类、要素集、地理网络、c o v e r a g e a r c s d e 中存储的版本 图层、d g n d w g 和d x f 以及注记等。 2 2 3a r c i m s 应用服务器 a r c l m s 应用服务器对服务器端运行着的空间服务器以及各个空间服务器上 面所运行的地图服务进行统一管理,并以此决定每一个来自客户端的请求该提交 给哪一个空间服务器上的哪一个地图服务加以处理。a r c l m s 应用服务器是一个 基于j a v a 的应用,作为w i n d o w s 的服务或者o n i x 的后台进程存在。由于a r c l m s 应用服务器只能处理a r c x m l 格式的请求,因此a r c l m s 连接器必须能直接解析 a r c x m l ;或者在将a r c x m l 请求发送到a r c i m s 应用服务器之前,将请求转化成第 三方的语法,如c o l d f u s i o n 、服务器端活动脚本( a s p ) 或j a v a 服务端脚本语言 ( j s m ) 。 华东师范大学硕士论文第二章绪论 2 2 4a r c i m s 连接器 a r c l m s 连接器用于连接w e b 服务器和a r c l m s 应用服务器。它提供了四种类 型的连接器: ( 1 ) a c t i v e xc o n n e c t o r 。a r c i m sa c t i v e xc o n n e c t o r 是一个可用于v i s u a l b a s i c 或a c t i v es e r v e rp a g e s ( a s p ) 应用程序的动态链接库。使用该连接器 的浏览器可以是基于v i s u a lb a s i c 的,也可以是基于h t m l 的。 ( 2 ) s e r v l e tc o n n e c t o r 。a r c l m ss e r v l e tc o n n e c t o r 是运行在服务器端的 j a v a 应用,它是a r c l m s 默认的连接器。 ( 3 ) j a v ac o n n e c t o r 。j a v ac o n n e c t o r 是j a v a 应用程序、j a v as e r v l e t 或j a v as e r v e rp a g e s ( j s p ) 客户端与a r c i m s 站点之间沟通的连接器。j a v a 连 接器是由j a v a 连接器对象模型和j a v a 连接器标签库组成的。并且它可用于 j a v a 2 企业版( j 2 e e ) 环境。 ( 4 ) c o l d f u s i o nc o n n e c t o r 。使用a r c l m sc o l d f u s i o nc o n n e c t o r 的客户

温馨提示

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

最新文档

评论

0/150

提交评论