首页
杂志网
当前位置:首页>>计算机技术>基于JSP技术的Web GIS>正文

基于JSP技术的Web GIS

来源:杂志发表网时间:2015-12-21 所属栏目:计算机技术

   【摘 要】地理信息系统的发展需要走开放式的道路,Web GIS的发展更应根据实际情况采用当前的主流技术。比较了Web GIS的各种实现技术,研究如何用JSP技术来实现Web GIS。
  【关键词】JSP Web GIS Java JavaBean 数据库 服务器端 客户端
  
  1 Web GIS概述
  Web GIS是利用互联网技术,完善和扩展传统的地理信息系统功能的一门新技术。通过网络,GIS的功能得以扩展,真正成为一种大众使用的工具。用户可以浏览Web GIS站点中的空间数据、制作专题地图,进行各种空间检索和分析。与传统的GIS相比,Web GIS体系结构发生了根本性的转变,它基于浏览器/服务器体系(浏览器、中间件服务器、数据库服务器),三层客户机/服务器模型(用户界面层、中间件服务器、GIS数据层),以及Web环境,采用TCP/IP通信协议来扩大空间数据共享范围。采用客户端/服务器多层体系结构提高系统的安全性,可重用性。在应用层采用HTTP议增强GIS的开放性。
  Web GIS的发展为GIS数据与信息的获取、发布、共享与操作开辟了广阔的前景,和传统的GIS相比,具有以下优点:
  (1)更广泛的访问范围。
  (2)平台独立。
  (3)系统成本降低。
  (4)操作简单。
  2 Web GIS的实现技术
  随着网络技术的发展,出现了多种实现Web GIS方法,如CGI,ISAPI,Java,ASP等。
  2.1基于CGI和Web API的被动式Web GIS
  CGI(Common Gateway Interface)是最早用来建立动态Web资源的技术,它是外部应用程序和Web服务器之间的接口标准,可让浏览器与服务器之间产生互动的关系。基于CGI技术的Web GIS系统在用户发出一个请求时,服务器把请求通过CGI转发给后端GIS应用程序,应用程序生成的结果又通过服务器传回客户端。基于CGI技术实现Web GIS的优势在于服务器软件之间的可移植性,缺陷是其浏览器的请求与生成的进程一一对应,它的进程通常都不在常驻系统内,只要有客户需求送置,服务器就要建立一个新的进程,致使多个用户同时访问时,系统资源占用过多,执行效率低。
  Web API是建立在CGI技术之上的另一类应用程序接口,实际应用中主要有Microsoft的ISAPI。它用动态链接库取代CGI程序,不会在系统中产生新的进程,资源共用,因而响应速度比CGI要高。但基于Web API的Web GIS与服务器联系较紧,用户发出的所有请求都在服务器端完成,客户端仅起了一个图形终端的作用,对服务器性能要求较高,程序移植难度大,也容易使服务器瘫痪,并且其没有统一标准,通用性差。
  2.2基于ASP和Java的主动式WebGIS
  ASP是微软公司推出的动态网页技术,可以在HTML程序码中内嵌VBScript或java script,服务器端还需安装适当的编译程序引擎。客户端请求ASP网页时,ASP文件由服务器端的ASP Engine解释执行,源程序不会传到浏览器,但它的安全性仍不是很好,必需随时注意微软公司的新补丁,以便更新系统。基于ASP的Web GIS还必须和IIS(Internet Information Server),ActiveX紧密相连,ADO(ActiveX Data Object)作为数据库访问控件,用它使客户端的程序通过BC和OLE DB来操纵GIS数据。并且ASP执行环境仅限于Microsoft Internet Information Server,Microsoft Site Server和Personal Web Server,缺乏跨平台的特性。另一方面,每当客户端请求ASP网页时,服务器端都必须重新编译一次,在执行效率上略显不足。
  Java语言正是针对Internet应用而开发的编程语言,也是一种面向对象、支持多线程、体系结构独立的解释型动态语言,具有高度的安全性、可移植性和代码重用性,它具有“一次编译,处处运行”的效果,支持Web计算模式,能实现Web的数据分布和操作分布。Java的特殊性质使它成为开发Web GIS的主流技术。它利用URL对象可以分布式访问具有URL的数据对象,通过在客户端下载Java Applet小程序完成GIS功能,实现对分布式数据的操作,但在实现大型GIS任务时能力受限制。
3 基于JSP技术实现Web GIS
  3.1JSP简介
  JSP(Java Server Pages)是由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外,Enterprise Java Bean (EJB)和Remote MethodInvocation (RMI)等对象都可以很容易在JSP中访问到。
  JSP使用JDBC(Java DataBase Connectivity)/JDO技术访问数据库,对于只有ODBC的数据库,使用SUN公司的JDBC-ODBC桥程序来连接访问。服务器端生成的结果以HTML或XML页面的形式返回,保护了代码的安全性。
  JSP属于服务器端程序设计语言,基于Web层(三层)客户机/服务器应用模型,将用户界面层、事物逻辑层和数据层分开来,利用Java的跨平台性,具有一次编写,处处运行的优点。以服务器端调用JSP的方式来分,它的基本模型一般情况下可分两种:一是服务器请求JSP,由JSP调用可重用的JavaBean组件来执行任务,譬如访问数据库、设置属性等。另一种是不用JavaBean,服务器只请求一个Servlet,它生成响应所要包含的动态内容,再激活一个JSP用来表示生成的内容。
  3.2基于JSP的Web GIS
  基于JSP的Web GIS由于与数据库联系较紧,一般采用JavaBean组件技术。JSP用Java组件JavaBean执行确定任务和封装对象数据,JSP与JavaBean的关系就像ASP与COM的关系,COM对象常用于帮助从ASP网页中分离出逻辑或计算的代码,可以在任何允许标准对象模型的语言中引用,而JavaBean仅限于Java程序设计语言,比COM更易于开发,只要通晓Java,就很容易掌握JavaBean的结构。在ASP中使用COM对象必须在服务器上注册,对象改变时,服务器需重新启动,而JavaBean不需在服务器上注册,对象改变时,只需重新启动对象即可。
  用JSP技术实现的Web GIS, JSP应用程序置于Web服务器端,当用户请求JSP网页时,JSP程序将自动送给JSP引擎(JSP Engine)处理,它将程序中的Java代码分离出来,生成Servlet,若无语法错误,则编译成class文件后,载入Java VM(Java Virtual Machine)执行(这是JSP程序的惟一一次执行)。当客户端有请求时,JSPEngine会同时为每一个请求产生一个请求对象(Request)和回应对象(Response)传入Servlet的_JSPService ( )方法,JSP调用封装了访问GIS数据库、撷取和提供内部属性功能的JavaBean,将请求参数传给Bean组件,由Bean动态计算处理结果,JSP获取相关信息后传回HTML形式表现结果。这样客户端看到的只是转换过的HTML文件,有效地隐藏了JSP源代码,保证了安全性,由于JSP不需要每次请求都编译,速度有所提高。
  4 实际应用
  Web GIS用JSP从Oracle数据库中读取数据与用户进行交互,在客户端下载Java Applet,实现地图的发布、比例放缩、信息查询功能。系统采用浏览器/服务器结构模式,由浏览器发出请求给Web服务器(Apache/Tomcat等等),Web服务器将请求送给相应的由JSP中的Java代码生成的Servlet,Servlet负责激活设定了相关属性的JavaBean,由JavaBean与数据库相连接,在服务器端进行数据的各种查询、分析、检索等操作,这样每次JSP询问JavaBean组件属性时,JavaBean动态处理并将结果传给浏览器,由浏览器显示结果给用户。
  5 结束语
  本文对JSP技术与Web GIS其他实现技术进行了介绍,由于JSP使用Java作为脚本语言,具有跨平台性,JSP与JavaBean技术相结合,为Web GIS的开发带来了极大的便利。实践证明,使用JSP技术开发Web GIS优越于以前的CGI,ASP等等技术。相信在不久的将来,JSP技术会日益成熟,并将有力推动Web GIS的发展。
  
  参考文献:
  
  [1]陈俊杰,陈灿章.Web GIS技术及其实现方法[J].太原理工大学学报,2000,31(4):394-396.
  [2]周炎坤,李满春.Web GIS开发方法比较研究[J].计算机应用研究.
  [3]戚铭尧,池天河,霍亮.Web GIS的企业级解决方案探讨[C].华南师范大学学报(自然科学版),2001,7:50-55.
点此咨询学术顾问 快人一步得到答案

SCI期刊问答

回到顶部