摘 要:本論文采用JSP編寫的一個(gè)分布式虛擬現(xiàn)實(shí)系統(tǒng)的Web服務(wù)器,其中包括用戶登錄、新用戶注冊(cè)、場(chǎng)景選擇、人物選擇、用戶信息查詢,用戶信息修改等幾個(gè)模塊。JSP將內(nèi)容的生成和顯示進(jìn)行分離,一次編譯隨處運(yùn)行。
關(guān)鍵詞:分布式虛擬現(xiàn)實(shí)系統(tǒng);Web服務(wù)器;Jsp
中圖分類號(hào):TP391.9
1 緒論
分布式虛擬現(xiàn)實(shí)系統(tǒng)就是把虛擬現(xiàn)實(shí)和網(wǎng)絡(luò)兩項(xiàng)技術(shù)結(jié)合在一起,在一組以網(wǎng)絡(luò)互連計(jì)算機(jī)上同時(shí)運(yùn)行虛擬現(xiàn)實(shí)系統(tǒng)的技術(shù)。要利用虛擬現(xiàn)實(shí)網(wǎng)絡(luò)通信等技術(shù),實(shí)現(xiàn)多個(gè)用戶在一個(gè)虛擬環(huán)境中彼此協(xié)調(diào)地交互。
1.1 分布式虛擬現(xiàn)實(shí)系統(tǒng)國(guó)內(nèi)外發(fā)展現(xiàn)狀:(1)國(guó)外發(fā)展現(xiàn)狀。分布式虛擬現(xiàn)實(shí)系統(tǒng)的研究與開發(fā)最早開始在80年代初,美國(guó)國(guó)防部高級(jí)項(xiàng)目研究和美國(guó)陸軍共同制定了一項(xiàng)SIMNET研究計(jì)劃,這個(gè)計(jì)劃的目標(biāo)是開發(fā)一個(gè)供軍事訓(xùn)練用的、低價(jià)格的、聯(lián)網(wǎng)的分布式軍用虛擬環(huán)境,它的研制成功,為后來分布式虛擬現(xiàn)實(shí)系統(tǒng)的開發(fā)奠定了基礎(chǔ),到90年代,隨著分布式虛擬設(shè)備的發(fā)展,分布式虛擬現(xiàn)實(shí)系統(tǒng)才得到較大的發(fā)展,出現(xiàn)了一系列工具和應(yīng)用。(2)國(guó)內(nèi)發(fā)展現(xiàn)狀。國(guó)內(nèi)的一些院校和科研單位,在90年代初也陸續(xù)開展了VR技術(shù)的研究。北京航空航天大學(xué)實(shí)現(xiàn)了分布式虛擬環(huán)境DVENET等,例如球面屏幕顯示和圖像隨動(dòng)等都具有不少獨(dú)特的方法。
1.2 web服務(wù)器的功能。Web服務(wù)器是基于XML消息傳遞分布式計(jì)算的一種實(shí)現(xiàn)方式,它通過向外界暴露出一個(gè)能夠通過Web實(shí)現(xiàn)程序和程序之間的消息交換。它由一族協(xié)議和標(biāo)準(zhǔn)所組成,只要實(shí)現(xiàn)了以上協(xié)議和規(guī)范,任何應(yīng)用程序、不管他們的實(shí)現(xiàn)語言和運(yùn)行平臺(tái)是否相同,都可以實(shí)現(xiàn)相互之間的查找、自我描述以及編程互操作。
1.3 系統(tǒng)功能簡(jiǎn)介。本系統(tǒng)采用了Web服務(wù)器提供的基于WWW的網(wǎng)絡(luò)服務(wù),用戶通過站點(diǎn)的方式進(jìn)入分布式虛擬環(huán)境系統(tǒng)。服務(wù)器在接受客戶端請(qǐng)求后,要通過到數(shù)據(jù)庫進(jìn)行身份驗(yàn)證,如是新用戶要進(jìn)行注冊(cè)才能登錄。注冊(cè)后的用戶在輸入正確的個(gè)人信息通過驗(yàn)證就可進(jìn)入虛擬環(huán)境系統(tǒng)。
進(jìn)入虛擬環(huán)境系統(tǒng)的用戶,可以選擇人物進(jìn)入不同的場(chǎng)景。另一方面系統(tǒng)用戶也具有對(duì)用戶的信息進(jìn)行查詢和修改的管理功能。
1.4 開發(fā)工具。JSP簡(jiǎn)介:JSP是由Sun Microsystems公司倡導(dǎo)和其他公司一起建立的一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。它的規(guī)范是在傳統(tǒng)網(wǎng)頁加入Java程序片段和JSP標(biāo)記,就構(gòu)成了JSP網(wǎng)頁。Web服務(wù)器在遇到訪問JSP網(wǎng)頁請(qǐng)求時(shí),所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的只是結(jié)果,對(duì)客戶瀏覽器要求最低,可以實(shí)現(xiàn)無ActiveX,無Java Applet,甚至無Frame。
JSP的技術(shù)的特點(diǎn):(1)將內(nèi)容的生成和顯示進(jìn)行分離及采用標(biāo)識(shí)簡(jiǎn)化頁面開發(fā)。使用JSP技術(shù),Web頁面開發(fā)人員可以使用HTML或者XML標(biāo)識(shí)來設(shè)計(jì)和格式化最終頁面。使用JSP標(biāo)識(shí)或者小腳本來生成頁面上的動(dòng)態(tài)內(nèi)容。生成內(nèi)容的邏輯被封裝,并且捆綁在小腳本中,所有的腳本在服務(wù)器端運(yùn)行。這樣Web管理人員和頁面設(shè)計(jì)者,能夠編輯和使用JSP頁面,而不影響內(nèi)容的生成。(2)強(qiáng)調(diào)可重用的組件。絕大多數(shù)JSP頁面依賴于可重用的,開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,基于組件的方法加速了總體開發(fā)過程,并且使得各種組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開發(fā)努力中得到平衡。
2 軟件設(shè)置
2.1 軟件平臺(tái)簡(jiǎn)介。本系統(tǒng)采用J2sdk+Tomcat聯(lián)合配置。這種結(jié)構(gòu)的優(yōu)點(diǎn)是兼有可擴(kuò)展性和安全性。J2sdk是整個(gè)Java的核心。Tomcat是一個(gè)開放源代碼、運(yùn)行 servlet 和JSP。Web應(yīng)用軟件是基于Java的Web應(yīng)用軟件容器。
2.2 系統(tǒng)運(yùn)行環(huán)境配置:(1)j2sdk配置環(huán)境變量。在安裝j2sdk以后,需要配置環(huán)境變量,選擇我的電腦鼠標(biāo)右健->屬性->單擊高級(jí)選項(xiàng)->環(huán)境變量->設(shè)置系統(tǒng)變量。(2)Tomcat配置。安裝Tomcat后,在我的電腦->屬性->高級(jí)->環(huán)境變量->系統(tǒng)變量中添加環(huán)境變量。然后修改環(huán)境變量,把tomcat安裝目錄下的servlet.jar追加到classpath中。啟動(dòng)tomcat,在IE中訪問http://localhost:8080,看到歡迎頁面說明安裝成功。
2.3 建立自己的jspapp目錄。在Tomcat下->webapps,在webapps目錄下新建一個(gè)目錄,這里假定命名為zch;zch文件夾下新建目錄WEB-INF。WEB-INF下新建文件web.xml,這個(gè)文件夾是必須的,功能是通過這個(gè)文件夾里的文件執(zhí)行Java的標(biāo)準(zhǔn)標(biāo)簽,只有通過執(zhí)行這個(gè)文件才能運(yùn)行Jsp的頁面。在zch下新建測(cè)試的Jsp頁面,文件名為index.jsp,重啟Tomcat。打開瀏覽器,輸入http://localhost:8080/zch/index.jsp 看到頁面說明就成功了。
2.4 數(shù)據(jù)庫和JDBC技術(shù)。JDBC為Java開發(fā)者使用數(shù)據(jù)庫提供了統(tǒng)一的編程接口,它由一組Java類和接口組成。JDBC使得開發(fā)人員使用純Java方式來連接數(shù)據(jù)庫,于是進(jìn)行操作。
本系統(tǒng)采用了純Java驅(qū)動(dòng)程序數(shù)據(jù)庫驅(qū)動(dòng)程序,該類型的驅(qū)動(dòng)程序是本地協(xié)議完全Java技術(shù)性能的驅(qū)動(dòng)程序,在客戶端不需要安裝任何中間件或者運(yùn)行庫?,F(xiàn)在大部分廠商都提供這類驅(qū)動(dòng)程序支持。
3 系統(tǒng)詳細(xì)設(shè)計(jì)
3.1 登錄界面主要功能是驗(yàn)證用戶登錄,在這里主要采用的是JSTL技術(shù)。JSTL是標(biāo)準(zhǔn)標(biāo)簽庫,通過使用它可以大大降低JSP頁面的復(fù)雜度,并使代碼最大程度地重用。例如有URL標(biāo)簽、XML標(biāo)簽、SQL標(biāo)簽。
這些標(biāo)簽主要是在第一個(gè)界面中當(dāng)輸入用戶名和密碼后點(diǎn)擊提交轉(zhuǎn)入驗(yàn)證頁面,在這個(gè)頁面中標(biāo)準(zhǔn)標(biāo)簽庫,用到常用標(biāo)簽和SQL標(biāo)簽。驗(yàn)證用戶輸入的內(nèi)容在數(shù)據(jù)庫中是否能找到,如果找到說明用戶存在,用戶驗(yàn)證通過,那么將通過的時(shí)間和用戶登錄的IP地址記入到數(shù)據(jù)庫中,當(dāng)然不通是不進(jìn)行記錄的。
3.2 用戶進(jìn)入第二個(gè)界面,通過選擇人物進(jìn)行場(chǎng)景的選擇,這里的場(chǎng)景指的是三個(gè)Flash動(dòng)畫。人物有三個(gè)分別是男性、女性和小孩。
3.3 在管理員界面中管理員可以對(duì)用戶的信息進(jìn)行管理。
4 系統(tǒng)界面
4.1 用戶界面。在配置好運(yùn)行環(huán)境并連接好數(shù)據(jù)庫后進(jìn)入到登錄界面。如果是新用戶就要在頁面中進(jìn)行注冊(cè)。在登錄界面中輸入用戶名和密碼到數(shù)據(jù)庫中驗(yàn)證,通過驗(yàn)證就會(huì)彈出一個(gè)用戶通過驗(yàn)證的對(duì)話框。
4.2 主界面。用戶在把以上的工作做完以后,就會(huì)提交到系統(tǒng)的主界面在系統(tǒng)主界面中,實(shí)現(xiàn)題目要求的出現(xiàn)三個(gè)人物圖像,圖像下面的按紐分別鏈接到一個(gè)Flash動(dòng)畫。在這個(gè)頁面的下方還有一個(gè)鏈接:用戶信息瀏覽與修改 點(diǎn)擊以后進(jìn)入系統(tǒng)要求的第三個(gè)頁面。
4.3 系統(tǒng)界面:(1)在信息瀏覽頁面中輸入本人的用戶名后,進(jìn)入查詢或修改頁面,在查詢和修改時(shí)也是采用JSTL技術(shù),這里是準(zhǔn)備顯示查找到的數(shù)據(jù)顯示。修改同查詢一樣都是采用同一種技術(shù)。(2)當(dāng)在主界面中輸入了管理員的用戶名和密碼后就會(huì)進(jìn)入下面的界面。如果想對(duì)用戶的信息進(jìn)行修改就點(diǎn)擊用戶后面的修改按鈕就可對(duì)相應(yīng)用戶進(jìn)行修改提交成功以后就會(huì)出現(xiàn)修改成功的對(duì)話框。
在制作系統(tǒng)的過程中我深刻的體會(huì)到考慮問題應(yīng)當(dāng)全面、部分的為整個(gè)系統(tǒng)著想,而不能只為某個(gè)模塊來著想,這樣做起來才不會(huì)走回頭路。
參考文獻(xiàn):
[1]楊寶民.分布式虛擬現(xiàn)實(shí)技術(shù)及其應(yīng)用[M].北京:科學(xué)出版社,2000.
[2]汪成為.靈境(虛擬現(xiàn)實(shí))技術(shù)的理論、實(shí)現(xiàn)及其應(yīng)用[M].北京:清華大學(xué)出版社,1998.
[3]曾建超,俞志和.虛擬現(xiàn)實(shí)的技術(shù)及其應(yīng)用[M].北京:清華大學(xué)出版社,2001.
作者簡(jiǎn)介:張彩虹(1983.07-),女,河南永城人,計(jì)算機(jī)教研室主任,助教,學(xué)士學(xué)位,研究方向:計(jì)算機(jī)應(yīng)用技術(shù)。
作者單位:鄭州電力職業(yè)技術(shù)學(xué)院,鄭州 451450