一.項目簡介:
JAVA語言是一種可移植的,簡單的,健壯的嵌入式語言。并且對網絡,數據庫有很好的支持,基于JAVA語言的這種特性可以十分容易地建立一個小型INTERNET服務器。
本項目中,作者用JAVA語言編寫了一個WEB微型服務器,對簡單的HTTP請求進行響應,并通過后端數據庫對用戶的查詢進行處理,從而動態地返回HTML頁面。
二.項目實現:
(一)項目具體功能分析與開發工具選擇
可以利用一臺較高配置的個人臺式機就可以實現社區內的小型服務器,包括網頁瀏覽,基于高速局域網的視頻下載和播放,定時新聞組發布程序,郵件服務器等服務。
本軟件實際上是一個HTTP協議的服務器。HTTP(Hyper Text Transfer Protocol),是一個專門為Web服務器和Web瀏覽器之間交換數據而設計的網絡協議。它通過規定通用資源定位符(URLs)使客戶端的瀏覽器與服務器的Web資源建立鏈接關系,從而奠定了用戶對Internet透明訪問的基礎。
在本軟件中通過傳輸HTML文件使客戶端可以實現網頁瀏覽。HTML是WWW的通用標記語言,它用來創建Web頁面和控制Web信息顯示格式。HTML不是編程語言,而是一種描述語言。HTML2.0得到了IETF(Internet Engineering Task Force)的支持而成為Internet國際標準。目前,HTML已經發展到3.0和4.0版,只是新版本的標準尚未完全統一,不同的商家對HTML2.0進行了一定的擴充,引入了更多新的功能。例如,Netscape公司在HTML3.0中增加了頁面底圖(Background Images)和表(Table)定義等標記,使得Web頁面更加引人入勝。
CGI是通用網關接口(Common Gateway Interface)的簡稱,它是Web服務器與外部程序之間的通信接口,服務器并不關心外部應用程序是什么語言(如C、C++、Pascal、Delphi或Perl)編寫的,它只是負責接收用戶輸入的信息,并把CGI程序所產生的結果--HTML文檔或其他符合HTTP規定的文件回傳給用戶。事實上,CGI是動態Web頁面制作的第一步,但由于CGI程序實現比較困難,而且效率不高,它已經逐漸被新的技術所取代。
網頁瀏覽支持的網頁包括HTML,JAVASCRIPT,APPLET,VBSCRIPT等編寫的網頁,但不支持PHP,ASP等服務器端動態程序的網頁。由于服務器的規模較小,所以服務器端動態程序被集成進服務器中。但可以通過編寫符合一定規則的JAVA的CGI程序實現服務器端的動態性,不過這種JAVA程序的安全性很難保證。
(二)服務器的實現
1. 處理連接策略:
對于每一個用戶的連接我們采取了每次請求滿足后,將用戶與服務器的連接斷開,這時用戶如果有其他的請求,則進入請求隊列重新進行資源競爭。
通常網頁中的每一個圖形都會被看成是一個單獨的連接,也就是說對于一個圖形很多的網頁基于本服務器的連接策略將會進行多次請求,這樣的好處是防止一個容量很大的網頁獨占網絡資源
新聞熱點
疑難解答