国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于JSP技術(shù)的Web?。牵桑?/h1>
2009-06-02 09:23:28王洪肖
商情 2009年4期
關(guān)鍵詞:服務(wù)器端瀏覽器客戶端

李 恒 王洪肖

【摘 要】地理信息系統(tǒng)的發(fā)展需要走開(kāi)放式的道路,Web GIS的發(fā)展更應(yīng)根據(jù)實(shí)際情況采用當(dāng)前的主流技術(shù)。比較了Web GIS的各種實(shí)現(xiàn)技術(shù),研究如何用JSP技術(shù)來(lái)實(shí)現(xiàn)Web GIS。

【關(guān)鍵詞】JSP Web GIS Java JavaBean 數(shù)據(jù)庫(kù) 服務(wù)器端 客戶端

1 Web GIS概述

Web GIS是利用互聯(lián)網(wǎng)技術(shù),完善和擴(kuò)展傳統(tǒng)的地理信息系統(tǒng)功能的一門新技術(shù)。通過(guò)網(wǎng)絡(luò),GIS的功能得以擴(kuò)展,真正成為一種大眾使用的工具。用戶可以瀏覽Web GIS站點(diǎn)中的空間數(shù)據(jù)、制作專題地圖,進(jìn)行各種空間檢索和分析。與傳統(tǒng)的GIS相比,Web GIS體系結(jié)構(gòu)發(fā)生了根本性的轉(zhuǎn)變,它基于瀏覽器/服務(wù)器體系(瀏覽器、中間件服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器),三層客戶機(jī)/服務(wù)器模型(用戶界面層、中間件服務(wù)器、GIS數(shù)據(jù)層),以及Web環(huán)境,采用TCP/IP通信協(xié)議來(lái)擴(kuò)大空間數(shù)據(jù)共享范圍。采用客戶端/服務(wù)器多層體系結(jié)構(gòu)提高系統(tǒng)的安全性,可重用性。在應(yīng)用層采用HTTP議增強(qiáng)GIS的開(kāi)放性。

Web GIS的發(fā)展為GIS數(shù)據(jù)與信息的獲取、發(fā)布、共享與操作開(kāi)辟了廣闊的前景,和傳統(tǒng)的GIS相比,具有以下優(yōu)點(diǎn):

(1)更廣泛的訪問(wèn)范圍。

(2)平臺(tái)獨(dú)立。

(3)系統(tǒng)成本降低。

(4)操作簡(jiǎn)單。

2 Web GIS的實(shí)現(xiàn)技術(shù)

隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,出現(xiàn)了多種實(shí)現(xiàn)Web GIS方法,如CGI,ISAPI,Java,ASP等。

2.1基于CGI和Web API的被動(dòng)式Web GIS

CGI(Common Gateway Interface)是最早用來(lái)建立動(dòng)態(tài)Web資源的技術(shù),它是外部應(yīng)用程序和Web服務(wù)器之間的接口標(biāo)準(zhǔn),可讓瀏覽器與服務(wù)器之間產(chǎn)生互動(dòng)的關(guān)系。基于CGI技術(shù)的Web GIS系統(tǒng)在用戶發(fā)出一個(gè)請(qǐng)求時(shí),服務(wù)器把請(qǐng)求通過(guò)CGI轉(zhuǎn)發(fā)給后端GIS應(yīng)用程序,應(yīng)用程序生成的結(jié)果又通過(guò)服務(wù)器傳回客戶端?;贑GI技術(shù)實(shí)現(xiàn)Web GIS的優(yōu)勢(shì)在于服務(wù)器軟件之間的可移植性,缺陷是其瀏覽器的請(qǐng)求與生成的進(jìn)程一一對(duì)應(yīng),它的進(jìn)程通常都不在常駐系統(tǒng)內(nèi),只要有客戶需求送置,服務(wù)器就要建立一個(gè)新的進(jìn)程,致使多個(gè)用戶同時(shí)訪問(wèn)時(shí),系統(tǒng)資源占用過(guò)多,執(zhí)行效率低。

Web API是建立在CGI技術(shù)之上的另一類應(yīng)用程序接口,實(shí)際應(yīng)用中主要有Microsoft的ISAPI。它用動(dòng)態(tài)鏈接庫(kù)取代CGI程序,不會(huì)在系統(tǒng)中產(chǎn)生新的進(jìn)程,資源共用,因而響應(yīng)速度比CGI要高。但基于Web API的Web GIS與服務(wù)器聯(lián)系較緊,用戶發(fā)出的所有請(qǐng)求都在服務(wù)器端完成,客戶端僅起了一個(gè)圖形終端的作用,對(duì)服務(wù)器性能要求較高,程序移植難度大,也容易使服務(wù)器癱瘓,并且其沒(méi)有統(tǒng)一標(biāo)準(zhǔn),通用性差。

2.2基于ASP和Java的主動(dòng)式WebGIS

ASP是微軟公司推出的動(dòng)態(tài)網(wǎng)頁(yè)技術(shù),可以在HTML程序碼中內(nèi)嵌VBScript或JavaScript,服務(wù)器端還需安裝適當(dāng)?shù)木幾g程序引擎。客戶端請(qǐng)求ASP網(wǎng)頁(yè)時(shí),ASP文件由服務(wù)器端的ASP Engine解釋執(zhí)行,源程序不會(huì)傳到瀏覽器,但它的安全性仍不是很好,必需隨時(shí)注意微軟公司的新補(bǔ)丁,以便更新系統(tǒng)。基于ASP的Web GIS還必須和IIS(Internet Information Server),ActiveX緊密相連,ADO(ActiveX Data Object)作為數(shù)據(jù)庫(kù)訪問(wèn)控件,用它使客戶端的程序通過(guò)BC和OLE DB來(lái)操縱GIS數(shù)據(jù)。并且ASP執(zhí)行環(huán)境僅限于Microsoft Internet Information Server,Microsoft Site Server和Personal Web Server,缺乏跨平臺(tái)的特性。另一方面,每當(dāng)客戶端請(qǐng)求ASP網(wǎng)頁(yè)時(shí),服務(wù)器端都必須重新編譯一次,在執(zhí)行效率上略顯不足。

Java語(yǔ)言正是針對(duì)Internet應(yīng)用而開(kāi)發(fā)的編程語(yǔ)言,也是一種面向?qū)ο?、支持多線程、體系結(jié)構(gòu)獨(dú)立的解釋型動(dòng)態(tài)語(yǔ)言,具有高度的安全性、可移植性和代碼重用性,它具有“一次編譯,處處運(yùn)行”的效果,支持Web計(jì)算模式,能實(shí)現(xiàn)Web的數(shù)據(jù)分布和操作分布。Java的特殊性質(zhì)使它成為開(kāi)發(fā)Web GIS的主流技術(shù)。它利用URL對(duì)象可以分布式訪問(wèn)具有URL的數(shù)據(jù)對(duì)象,通過(guò)在客戶端下載Java Applet小程序完成GIS功能,實(shí)現(xiàn)對(duì)分布式數(shù)據(jù)的操作,但在實(shí)現(xiàn)大型GIS任務(wù)時(shí)能力受限制。

3 基于JSP技術(shù)實(shí)現(xiàn)Web GIS

3.1JSP簡(jiǎn)介

JSP(Java Server Pages)是由Sun微系統(tǒng)公司于1999年6月推出的一種建構(gòu)在Servlet技術(shù)之上的Web技術(shù),JSP將Servlet中的HTML代碼脫離了出來(lái),從而可以加速Web應(yīng)用開(kāi)發(fā)和頁(yè)面維護(hù)。在這種技術(shù)中你可以將Java代碼嵌入到HTML文件,服務(wù)器將自動(dòng)為頁(yè)面創(chuàng)建一個(gè)Servlet。利用JSP可以建立跨平臺(tái)的、更加先進(jìn)和安全的動(dòng)態(tài)網(wǎng)站。

JSP的最大特點(diǎn)是將內(nèi)容的生成與顯示分離。使用JSP技術(shù),Web頁(yè)面開(kāi)發(fā)人員可以使用JSP標(biāo)記或小腳本來(lái)生成Web頁(yè)面上的動(dòng)態(tài)內(nèi)容。生成內(nèi)容的邏輯被封裝在JSP標(biāo)記和JavaBean組件中并運(yùn)行于服務(wù)器端,由JSP引擎解釋執(zhí)行。

在JSP中大量的Java程序代碼可以封裝于與平臺(tái)無(wú)關(guān)的JavaBean中,而只留下極少的標(biāo)記用于調(diào)用Bean,這樣就避免了代碼的混亂性。除了JavaBean外,Enterprise Java Bean (EJB)和Remote MethodInvocation (RMI)等對(duì)象都可以很容易在JSP中訪問(wèn)到。

JSP使用JDBC(Java DataBase Connectivity)/JDO技術(shù)訪問(wèn)數(shù)據(jù)庫(kù),對(duì)于只有ODBC的數(shù)據(jù)庫(kù),使用SUN公司的JDBC-ODBC橋程序來(lái)連接訪問(wèn)。服務(wù)器端生成的結(jié)果以HTML或XML頁(yè)面的形式返回,保護(hù)了代碼的安全性。

JSP屬于服務(wù)器端程序設(shè)計(jì)語(yǔ)言,基于Web層(三層)客戶機(jī)/服務(wù)器應(yīng)用模型,將用戶界面層、事物邏輯層和數(shù)據(jù)層分開(kāi)來(lái),利用Java的跨平臺(tái)性,具有一次編寫,處處運(yùn)行的優(yōu)點(diǎn)。以服務(wù)器端調(diào)用JSP的方式來(lái)分,它的基本模型一般情況下可分兩種:一是服務(wù)器請(qǐng)求JSP,由JSP調(diào)用可重用的JavaBean組件來(lái)執(zhí)行任務(wù),譬如訪問(wèn)數(shù)據(jù)庫(kù)、設(shè)置屬性等。另一種是不用JavaBean,服務(wù)器只請(qǐng)求一個(gè)Servlet,它生成響應(yīng)所要包含的動(dòng)態(tài)內(nèi)容,再激活一個(gè)JSP用來(lái)表示生成的內(nèi)容。

3.2基于JSP的Web GIS

基于JSP的Web GIS由于與數(shù)據(jù)庫(kù)聯(lián)系較緊,一般采用JavaBean組件技術(shù)。JSP用Java組件JavaBean執(zhí)行確定任務(wù)和封裝對(duì)象數(shù)據(jù),JSP與JavaBean的關(guān)系就像ASP與COM的關(guān)系,COM對(duì)象常用于幫助從ASP網(wǎng)頁(yè)中分離出邏輯或計(jì)算的代碼,可以在任何允許標(biāo)準(zhǔn)對(duì)象模型的語(yǔ)言中引用,而JavaBean僅限于Java程序設(shè)計(jì)語(yǔ)言,比COM更易于開(kāi)發(fā),只要通曉Java,就很容易掌握J(rèn)avaBean的結(jié)構(gòu)。在ASP中使用COM對(duì)象必須在服務(wù)器上注冊(cè),對(duì)象改變時(shí),服務(wù)器需重新啟動(dòng),而JavaBean不需在服務(wù)器上注冊(cè),對(duì)象改變時(shí),只需重新啟動(dòng)對(duì)象即可。

用JSP技術(shù)實(shí)現(xiàn)的Web GIS, JSP應(yīng)用程序置于Web服務(wù)器端,當(dāng)用戶請(qǐng)求JSP網(wǎng)頁(yè)時(shí),JSP程序?qū)⒆詣?dòng)送給JSP引擎(JSP Engine)處理,它將程序中的Java代碼分離出來(lái),生成Servlet,若無(wú)語(yǔ)法錯(cuò)誤,則編譯成class文件后,載入Java VM(Java Virtual Machine)執(zhí)行(這是JSP程序的惟一一次執(zhí)行)。當(dāng)客戶端有請(qǐng)求時(shí),JSPEngine會(huì)同時(shí)為每一個(gè)請(qǐng)求產(chǎn)生一個(gè)請(qǐng)求對(duì)象(Request)和回應(yīng)對(duì)象(Response)傳入Servlet的_JSPService ( )方法,JSP調(diào)用封裝了訪問(wèn)GIS數(shù)據(jù)庫(kù)、擷取和提供內(nèi)部屬性功能的JavaBean,將請(qǐng)求參數(shù)傳給Bean組件,由Bean動(dòng)態(tài)計(jì)算處理結(jié)果,JSP獲取相關(guān)信息后傳回HTML形式表現(xiàn)結(jié)果。這樣客戶端看到的只是轉(zhuǎn)換過(guò)的HTML文件,有效地隱藏了JSP源代碼,保證了安全性,由于JSP不需要每次請(qǐng)求都編譯,速度有所提高。

4 實(shí)際應(yīng)用

Web GIS用JSP從Oracle數(shù)據(jù)庫(kù)中讀取數(shù)據(jù)與用戶進(jìn)行交互,在客戶端下載Java Applet,實(shí)現(xiàn)地圖的發(fā)布、比例放縮、信息查詢功能。系統(tǒng)采用瀏覽器/服務(wù)器結(jié)構(gòu)模式,由瀏覽器發(fā)出請(qǐng)求給Web服務(wù)器(Apache/Tomcat等等),Web服務(wù)器將請(qǐng)求送給相應(yīng)的由JSP中的Java代碼生成的Servlet,Servlet負(fù)責(zé)激活設(shè)定了相關(guān)屬性的JavaBean,由JavaBean與數(shù)據(jù)庫(kù)相連接,在服務(wù)器端進(jìn)行數(shù)據(jù)的各種查詢、分析、檢索等操作,這樣每次JSP詢問(wèn)JavaBean組件屬性時(shí),JavaBean動(dòng)態(tài)處理并將結(jié)果傳給瀏覽器,由瀏覽器顯示結(jié)果給用戶。

5 結(jié)束語(yǔ)

本文對(duì)JSP技術(shù)與Web GIS其他實(shí)現(xiàn)技術(shù)進(jìn)行了介紹,由于JSP使用Java作為腳本語(yǔ)言,具有跨平臺(tái)性,JSP與JavaBean技術(shù)相結(jié)合,為Web GIS的開(kāi)發(fā)帶來(lái)了極大的便利。實(shí)踐證明,使用JSP技術(shù)開(kāi)發(fā)Web GIS優(yōu)越于以前的CGI,ASP等等技術(shù)。相信在不久的將來(lái),JSP技術(shù)會(huì)日益成熟,并將有力推動(dòng)Web GIS的發(fā)展。

參考文獻(xiàn):

[1]陳俊杰,陳燦章.Web GIS技術(shù)及其實(shí)現(xiàn)方法[J].太原理工大學(xué)學(xué)報(bào),2000,31(4):394-396.

[2]周炎坤,李滿春.Web GIS開(kāi)發(fā)方法比較研究[J].計(jì)算機(jī)應(yīng)用研究.

[3]戚銘堯,池天河,霍亮.Web GIS的企業(yè)級(jí)解決方案探討[C].華南師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2001,7:50-55.

(作者單位:吉林農(nóng)業(yè)大學(xué);吉林大學(xué))

猜你喜歡
服務(wù)器端瀏覽器客戶端
反瀏覽器指紋追蹤
電子制作(2019年10期)2019-06-17 11:45:14
縣級(jí)臺(tái)在突發(fā)事件報(bào)道中如何應(yīng)用手機(jī)客戶端
孵化垂直頻道:新聞客戶端新策略
基于Vanconnect的智能家居瘦客戶端的設(shè)計(jì)與實(shí)現(xiàn)
淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
成功(2018年10期)2018-03-26 02:56:14
環(huán)球?yàn)g覽器
再見(jiàn),那些年我們嘲笑過(guò)的IE瀏覽器
在Windows中安裝OpenVPN
客戶端空間數(shù)據(jù)緩存策略
網(wǎng)頁(yè)防篡改中分布式文件同步復(fù)制系統(tǒng)

大洼县| 张掖市| 石景山区| 无为县| 武山县| 和田市| 洪湖市| 石棉县| 正阳县| 东辽县| 巧家县| SHOW| 沅江市| 虎林市| 金平| 太原市| 西昌市| 隆德县| 巴里| 西丰县| 正阳县| 资源县| 黄梅县| 台州市| 淳安县| 祁连县| 嘉禾县| 新沂市| 福贡县| 大连市| 泽库县| 浏阳市| 于田县| 曲沃县| 永德县| 双辽市| 城口县| 黄龙县| 临夏县| 藁城市| 呼和浩特市|