侯永杰
(山西農業大學軟件工程2016屆,晉中 030800)
伴隨當今互聯網技術的不斷發展,以及以HTTP協議為基礎的Web技術在多領域中的應用,使傳統的生產方式與工作模式發生了非常大的改變,使得協同工作與資源共享成為現實。在因特網中,借助于Web技術,能夠構建一個統一且簡單,且無關于用戶平臺的交流方式,將安全設施、數據庫及多媒體等技術,均劃歸至圍繞Web的瀏覽器/服務器(B/S)模式當中,便于人們瀏覽、使用。本文就基于Web應用系統開發的純Java實現技術作一探討。
當前,比較常用且具有典型性的以Web應用系統為基礎的計算模式,即瀏覽器/服務器(B/S),其選用的是三層結構,其一為數據服務層,其二是應用服務層,其三為用戶服務層。與之前經常使用的兩層結構相比較,最大的不同在于前者額外增加了一個新層,即應用服務層,主要用作無關于用戶界面與數據存儲的工作,比如數據分析、數值計算及復雜的應用邏輯處理。針對三層結構而言,許多與應用由緊密關聯的工作,抽取于客戶端,且均將其單獨置入應用服務器當中。所以,可將其劃分為3部分,即數據庫管理、應用處理與用戶界面,各部門均有與之配套的功能。如此一來,針對網絡數據流通量來講,不僅能使其出現大幅度的減少,而且還能還能根據實際求你概況及需要,降低其原先的負載,這樣便能夠較好的減輕客戶機的運作負擔。而從安全性層面來進行系統化分析,針對那些密切關聯于相關應用的算法,需要根據實際需要,將具體的保密工作給做好;對于那些比較核心或較為關鍵的算法,如果其均囊括在整個Applet當中,若把它下載下來,并且置于他人的機器當中,那么受此影響,其非常容易被外部人員解密,而選擇三層結構,并且在應用服務層儲存關鍵算法,能夠將此問題較好的規避掉。此外,還需要指出的是,針對數據應用來講,如果能夠根據實際需要,把數據庫的具體查詢工作,以一種合理、高效的方式連接于服務器端,使其都劃歸到單一的一臺機器當中,并且在具體具體的數據庫用戶許可方面,僅安裝安裝1個就可以,如此一來,便可以消除客戶端的沖擊,減少其訪問數據庫。
針對此層來講,其實現主要運用的是當前比較先進的Java Applet技術。而針對Java Applet程序來分析,從根本層面來考量,其實為一種比較實用且效能突出的Java技術,其可以根據實際需要,利用配套的標簽,以嵌入的方式,劃歸至特定的HTML文件當中;針對網頁文件來講,在對其進行調用時,可以與特定的HTML文件一道,下載到指定的客戶端中,這樣一來,便能夠與用戶之間,實現緊密且實時的交互。還需要指出的是,當將Web以一種合理方式與Java相結合時,便可以將Web的上述缺陷給克服掉;對于用戶來講,僅需將一個引用Java應用程序的標簽加入到支持Java的瀏覽器中,此時處于連接狀態的Java程序,便能夠以一種自動下載的方式,將相關內容下載至計算機上來執行。如此一來,便能夠較好的改變以往Web只能進行靜態信息傳送的情況,能夠在網絡環境當中,使可執行內容的自動執行與傳送成為可能,因而可以實現Web在具體的處理復雜事物方面的能力得到提升。
Servlet技術由Sun公司所開展,是一種運用于服務層Java實現的技術根基。在具體的服務器端,針對Java Servlet程序來講,其借助Web服務器軟件,來進行解釋,并做好具體的管理工作。要想對Java Serlet程序進行開發,一般需獲得JSDK軟件包的支持。
(1)Swevlet技術淺析。此技術實為一種典型的功能擴展,其主要為請求/應答方式提供各種服務,針對單獨1個Swevlet程序來講,能夠根據實際需要,以客戶端為對象,對由此發出的請求予以實時或有選擇性的接收;而接受完畢并完成處理后,再把最終所得到的結果,及時輸送至客戶端。對于Swevlet接口來講,其乃是JSDK開發軟件包的核心部分,全部Swevlet程序均需經過它來實現連接。如果Swevlet程序所接收到的一個請求來自客戶端,那么會將受到的對象類封成從客戶端至服務器端的請求。(2)Swevlet的生存期分析。如果1個Swevlet程序被裝載,此時,首先被調用的便是init,且此方法僅被用于Swevlet程序被首次裝載時。如果安靜琪卸載,那么被調動的將是方法destioy。一個已經被載入的Servlet程序,則無法被再次裝載。當處于相同的生存期時,方法destroy與init均僅能被調用1次。但完成初始化后,Swevlet便能對用戶的請求進行處理,此時,借助方法Swevlet來開展。由于Swevlet能夠提供多線程支持,各個來自客戶的請求,均會打開1個獨立的Servlet線程,來完成Swevlet方法的執行。還需指出的是,對于Swevlet來分析,其具有多線程的特點,所以,針對1個Swevlet程序而言,從其總體生存期層面來分析,其重點環節就是代碼線程的安全性,之所以要這樣做的目的就是對各個線程實現同步化操作。如果在一些特殊情況下,難以多線程服務,為了保障不出現2個線程運行的情況,可借助SingleThreaModel來實現。
綜上,在基于Web應用系統架構下的開發技術而言,Java技術有著其專屬特點,不僅有著網絡分布性,而且還有平臺無關性,因此,在實際使用中,不僅能夠跨越許多的軟件環境,而且一些硬件環境也能夠跨越,因而此技術在整個互聯網應用系統當中,乃是一個最具實用性且效能最佳的開發平臺。