基于JSP技术的WebGISWord文档格式.docx
《基于JSP技术的WebGISWord文档格式.docx》由会员分享,可在线阅读,更多相关《基于JSP技术的WebGISWord文档格式.docx(6页珍藏版)》请在冰豆网上搜索。
用户可以浏览WebGIS站点中的空间数据、制作专题地图,进行各种空间检索和分析。
与传统的GIS相比,WebGIS体系结构发生了根本性的转变,它基于浏览器/服务器体系(浏览器、中间件服务器、数据库服务器),三层客户机/服务器模型(用户界面层、中间件服务器、GIS数据层),以及Web环境,采用TCP/IP通信协议来扩大空间数据共享范围。
采用客户端/服务器多层体系结构提高系统的安全性,可重用性。
在应用层采用HTTP议增强GIS的开放性。
WebGIS的发展为GIS数据与信息的获取、发布、共享与操作开辟了广阔的前景,和传统的GIS相比,具有以下优点:
(1)更广泛的访问范围。
(2)平台独立。
(3)系统成本降低。
(4)操作简单。
2WebGIS的实现技术
随着网络技术的发展,出现了多种实现WebGIS方法,如CGI,ISAPI,Java,ASP等。
2.1基于CGI和WebAPI的被动式WebGIS
CGI(CommonGatewayInterface)是最早用来建立动态Web资源的技术,它是外部应用程序和Web服务器之间的接口标准,可让浏览器与服务器之间产生互动的关系。
基于CGI技术的WebGIS系统在用户发出一个请求时,服务器把请求通过CGI转发给后端GIS应用程序,应用程序生成的结果又通过服务器传回客户端。
基于CGI技术实现WebGIS的优势在于服务器软件之间的可移植性,缺陷是其浏览器的请求与生成的进程一一对应,它的进程通常都不在常驻系统内,只要有客户需求送置,服务器就要建立一个新的进程,致使多个用户同时访问时,系统资源占用过多,执行效率低。
WebAPI是建立在CGI技术之上的另一类应用程序接口,实际应用中主要有Microsoft的ISAPI。
它用动态链接库取代CGI程序,不会在系统中产生新的进程,资源共用,因而响应速度比CGI要高。
但基于WebAPI的WebGIS与服务器联系较紧,用户发出的所有请求都在服务器端完成,客户端仅起了一个图形终端的作用,对服务器性能要求较高,程序移植难度大,也容易使服务器瘫痪,并且其没有统一标准,通用性差。
2.2基于ASP和Java的主动式WebGIS
ASP是微软公司推出的动态网页技术,可以在HTML程序码中内嵌VBScript或JavaScript,服务器端还需安装适当的编译程序引擎。
客户端请求ASP网页时,ASP文件由服务器端的ASPEngine解释执行,源程序不会传到浏览器,但它的安全性仍不是很好,必需随时注意微软公司的新补丁,以便更新系统。
基于ASP的WebGIS还必须和IIS(InternetInformationServer),ActiveX紧密相连,ADO(ActiveXDataObject)作为数据库访问控件,用它使客户端的程序通过BC和OLEDB来操纵GIS数据。
并且ASP执行环境仅限于MicrosoftInternetInformationServer,MicrosoftSiteServer和PersonalWebServer,缺乏跨平台的特性。
另一方面,每当客户端请求ASP网页时,服务器端都必须重新编译一次,在执行效率上略显不足。
Java语言正是针对Internet应用而开发的编程语言,也是一种面向对象、支持多线程、体系结构独立的解释型动态语言,具有高度的安全性、可移植性和代码重用性,它具有“一次编译,处处运行”的效果,支持Web计算模式,能实现Web的数据分布和操作分布。
Java的特殊性质使它成为开发WebGIS的主流技术。
它利用URL对象可以分布式访问具有URL的数据对象,通过在客户端下载JavaApplet小程序完成GIS功能,实现对分布式数据的操作,但在实现大型GIS任务时能力受限制。
3基于JSP技术实现WebGIS
3.1JSP简介
JSP(JavaServerPages)是由Sun微系统公司于1999年6月推出的一种建构在Servlet技术之上的Web技术,JSP将Servlet中的HTML代码脱离了出来,从而可以加速Web应用开发和页面维护。
在这种技术中你可以将Java代码嵌入到HTML文件,服务器将自动为页面创建一个Servlet。
利用JSP可以建立跨平台的、更加先进和安全的动态网站。
JSP的最大特点是将内容的生成与显示分离。
使用JSP技术,Web页面开发人员可以使用JSP标记或小脚本来生成Web页面上的动态内容。
生成内容的逻辑被封装在JSP标记和JavaBean组件中并运行于服务器端,由JSP引擎解释执行。
在JSP中大量的Java程序代码可以封装于与平台无关的JavaBean中,而只留下极少的标记用于调用Bean,这样就避免了代码的混乱性。
除了JavaBean外,EnterpriseJavaBean(EJB)和RemoteMethodInvocation(RMI)等对象都可以很容易在JSP中访问到。
JSP使用JDBC(JavaDataBaseConnectivity)/JDO技术访问数据库,对于只有ODBC的数据库,使用SUN公司的JDBC-ODBC桥程序来连接访问。
服务器端生成的结果以HTML或XML页面的形式返回,保护了代码的安全性。
JSP属于服务器端程序设计语言,基于Web层(三层)客户机/服务器应用模型,将用户界面层、事物逻辑层和数据层分开来,利用Java的跨平台性,具有一次编写,处处运行的优点。
以服务器端调用JSP的方式来分,它的基本模型一般情况下可分两种:
一是服务器请求JSP,由JSP调用可重用的JavaBean组件来执行任务,譬如访问数据库、设置属性等。
另一种是不用JavaBean,服务器只请求一个Servlet,它生成响应所要包含的动态内容,再激活一个JSP用来表示生成的内容。
3.2基于JSP的WebGIS
基于JSP的WebGIS由于与数据库联系较紧,一般采用JavaBean组件技术。
JSP用Java组件JavaBean执行确定任务和封装对象数据,JSP与JavaBean的关系就像ASP与COM的关系,COM对象常用于帮助从ASP网页中分离出逻辑或计算的代码,可以在任何允许标准对象模型的语言中引用,而JavaBean仅限于Java程序设计语言,比COM更易于开发,只要通晓Java,就很容易掌握JavaBean的结构。
在ASP中使用COM对象必须在服务器上注册,对象改变时,服务器需重新启动,而JavaBean不需在服务器上注册,对象改变时,只需重新启动对象即可。
用JSP技术实现的WebGIS,JSP应用程序置于Web服务器端,当用户请求JSP网页时,JSP程序将自动送给JSP引擎(JSPEngine)处理,它将程序中的Java代码分离出来,生成Servlet,若无语法错误,则编译成class文件后,载入JavaVM(JavaVirtualMachine)执行(这是JSP程序的惟一一次执行)。
当客户端有请求时,JSPEngine会同时为每一个请求产生一个请求对象(Request)和回应对象(Response)传入Servlet的_JSPService()方法,JSP调用封装了访问GIS数据库、撷取和提供内部属性功能的JavaBean,将请求参数传给Bean组件,由Bean动态计算处理结果,JSP获取相关信息后传回HTML形式表现结果。
这样客户端看到的只是转换过的HTML文件,有效地隐藏了JSP源代码,保证了安全性,由于JSP不需要每次请求都编译,速度有所提高。
4实际应用
WebGIS用JSP从Oracle数据库中读取数据与用户进行交互,在客户端下载JavaApplet,实现地图的发布、比例放缩、信息查询功能。
系统采用浏览器/服务器结构模式,由浏览器发出请求给Web服务器(Apache/Tomcat等等),Web服务器将请求送给相应的由JSP中的Java代码生成的Servlet,Servlet负责激活设定了相关属性的JavaBean,由JavaBean与数据库相连接,在服务器端进行数据的各种查询、分析、检索等操作,这样每次JSP询问JavaBean组件属性时,JavaBean动态处理并将结果传给浏览器,由浏览器显示结果给用户。
5结束语
本文对JSP技术与WebGIS其他实现技术进行了介绍,由于JSP使用Java作为脚本语言,具有跨平台性,JSP与JavaBean技术相结合,为WebGIS的开发带来了极大的便利。
实践证明,使用JSP技术开发WebGIS优越于以前的CGI,ASP等等技术。
相信在不久的将来,JSP技术会日益成熟,并将有力推动WebGIS的发展。
附录2外文参考文献(原文)
WebGISonthebasisofJSPtechnology
1WebGISsummaryWebGISutilizesInternettechnology
improvesandexpandsanewtechnologyofthetraditionalgeographicalfunctionofinformationsystem.Throughthenetwork,thefunctionofGIScanbeexpanded,reallybecomesatoolwhichakindofmassesusedwith.UserscanbeinordertohavealookaroundthespacedatainWebGISwebsite,makethematicmap,searchandanalyzevariousspace.ComparedwithtraditionalGIS,lastfundamentalonetransitionWebGISsystemstructure,lastbrowser/serversystem(browserit,inthemiddleofpiecesofserver,databaseserver),threelayersofclient/servermodel(userinterfacelayer,themiddleaserver,GISdatalayer),andWebenvironment,adoptTCP/IPcommunicationprotocolcome,expandspacedatumsharetherange.Adoptthecustomerend/multi-layersystemstructureofservertoimprovesystematicsecurity,reusable.EmployinglayertoadoptHTTPtodiscussandstrengthentheopeningofGIS.
TodevelopintoGISdatawithobtain,issue,sharingandoperatingandopeningvastvistasofinformationWebGIS,comparedwit