JavaWeb應用開發概述
1、程式開發體繫結構
網路程式開發體繫結構有多種,其中運用最多的網路應用程式開發體繫結構有兩種,一種是基於瀏覽器/伺服器的B/S結構,另一種是基於用戶端/伺服器的C/S結構。通過以下的內容,大家可以掌握Web開發的在伺服器端和瀏覽器端分別需要的技術、Web開發的流程。
1)、C/S體繫結構
C/S是Client/Server的縮寫,即用戶端/伺服器結構。伺服器通常採用高效能的PC機或工作站,並採用大型資料庫系統(如Oracle或SQL Server),用戶端則需要安裝專用的用戶端軟體。這種結構可以充分利用兩端硬體環境的優勢,將任務合理分配到用戶端和伺服器,從而降低了系統的通訊開銷。
2)、B/S體繫結構介紹
B/S是Browser/Server的縮寫,即瀏覽器/伺服器結構。在這種結構中,用戶端不需要開發任何使用者介面,而同一採用如IE何Firefox等瀏覽器,通過Web瀏覽器向Web伺服器發送請求,由Web伺服器進行處理,並將處理結果逐級傳回用戶端。這種結構利用不斷成熟和普及的瀏覽器技術實現原來需要複雜專用軟體才能實現的強大功能,從而節約了開發成本,是一種全新的軟體體繫結構。
3)、兩種體繫結構的比較
(1)、開發和維護成本方面
C/S結構的開發和維護成本比B/S高。採用C/S結構時,系統維護員必須講用戶端原有的軟體卸載,再安裝新版本並進行配置。而B/S結構的軟體,系統維護員只需要將伺服器的軟體升級到最新版本,對於其他用戶端,只要重新登入系統即可使用最新版本的軟體。
(2)、用戶端負載
C/S結構的用戶端不僅負責與使用者的互動,同時需要通過網路向伺服器請求對資料庫、試算表或文檔等資訊的處理工作。而B/S結構的用戶端把交易處理邏輯部分交給了伺服器,由伺服器進行處理,這樣雖然減輕了用戶端的負載,但同時又家中了伺服器的負載。
(3)、安全性
C/S結構適用於專人使用的系統,可以通過嚴格的管理派發軟體,達到保證系統安全的目的,這樣的軟體相對來說安全性比較高。而B/S結構的軟體,由於使用的人數較多,且不固定,相對來說安全性就會低一些。
2、Web應用程式的工作原理
Web應用程式可分為靜態網站和動態網站。靜態網站使用HTML語言來編寫,使用者使用瀏覽器通過HTTP協議請求伺服器上的Web頁面,伺服器上的Web伺服器將接收到的使用者請求處理後,再發送給用戶端的瀏覽器,顯示給使用者。
動態網站通常使用HTML語言和動態指令碼語言(如JSP、ASP或是PHP等)編寫,並將編寫後的程式部署到Web伺服器上,由Web伺服器對動態指令碼代碼進行處理,並轉換為瀏覽器可以解析的HTML代碼,返回給用戶端瀏覽器,顯示給使用者。
3、Web應用技術
在開發Web應用程式時,通常需要應用用戶端和伺服器兩方面的技術。用戶端用於展現資訊內容,伺服器用於進行商務邏輯的處理和與資料庫的互動等。
1)、用戶端應用的技術
比較常用的用戶端技術包括HTML語言、CSS、Flash和用戶端指令碼技術。
l HTML語言:用戶端技術的基礎,用於顯示網頁資訊,由瀏覽器解釋執行,不需要編譯,不區分大小寫。
l CSS:樣式表(Style Sheet)技術,或層疊樣式表(Cascading Style Sheet)。用於對頁面的布局、字型、顏色、北京和其他效果實現更加精確的控制。CSS大大提高了開發人員對資訊展現格式的控制能力,特別是在目前比較流行的CSS+DIV布局的網站中。
l Flash:Flash是一種互動式動畫製作技術,它可以包含動畫、音頻、視頻以及應用程式,而且Flash檔案比較小,非常適合在Web上應用。
l 用戶端指令碼技術:指嵌入到Web頁面中的程式碼,這些代碼是一種解釋性的語言,瀏覽器可以對用戶端指令碼進行解釋。通過指令碼語言可以實現以編程的方式對頁面元素進行控制,從而增加頁面的靈活性。常用的用戶端指令碼語言有JavaScript和VBScript。JavaScript是Ajax的重要組成部分。
2)、伺服器端應用的技術
比較常用的伺服器端技術主要有CGI、ASP、PHP、ASP.NET和JSP。
l CGI:通用閘道介面(Common GatewayInterface),最早用來建立動態網頁的技術,可以使瀏覽器與伺服器之間產生互動關係。它允許使用不同的語言來編寫適合的CGI程式,該程式被放在Web伺服器上運行。由於伺服器是以進程為單位來執行指定的CGI程式,所以這種技術編製方式比較困難而且效率低下。支援的語言有C/C++、Java和Perl。
l ASP:Active Server Page是一種使用很廣泛的開發動態網站的技術。通過在頁面代碼中嵌入VBScript或JavaScript指令碼語言來產生動態內容。ASP可以調用存在於背景COM組件來完成,所欲COM組件無限地擴充了ASP的能力。正因如此以來本地的COM組件,使得它主要用於Windows NT平台中,所以Windows本身存在的問題都會映射到它的身上。
l PHP:Personal Home Page,文法類似於C,是一種開源的Web伺服器指令碼語言,對於複雜的操作可以封裝到函數或類中。在PHP中提供了許多已經定義好的函數,例如標準的資料庫介面,使得資料庫連接方便,擴充性強。PHP被廣泛應用於UNIX/Linux平台,是到目前為止安全效能最高的動態網頁技術。
l ASP.NET:建立動態Web應用程式的技術。是.NET架構的一部分,可以使用任何.NET相容的語言來編寫ASP.NET應用程式,從而得到比指令碼語言更出色的效能表現。Web Forms允許在網頁基礎上建立強大的表單。當建立頁面時,可以使用ASP.NET服務端控制項來建立常用的UI元素,並對他們編程來完成一般的任務。這些控制項允許開發人員使用內建可重用的組件和自訂群組件來快速建立Web Forms,是代碼簡化。
l JSP:Java Server Page,沿用Java強大的API功能,JSP頁面中的HTML代碼用來顯示靜態內容部分,嵌入到頁面中的Java帶代碼與JSP標記用來產生動態內容部分。JSP允許程式猿編寫自己的標籤庫來完成應用程式的特定要求。JSP可以被先行編譯,提高了程式的運行速度。另外JSP開發的應用程式還有“一次編譯,隨時可用”的特點。