說說Java Web中的Web應用程序

  1. Web 應用程序的工做原理Web 應用程序大致上能夠分爲兩種,即靜態網站和動態網站。早期的 Web 應用主要是 靜態頁面的瀏覽,即靜態網站。這些網站使用 HTML 語言來編寫,放在 Web 服務器上,用戶使用瀏覽器經過 HTTP 協議請求服務器上的 Web 頁面,服務器上的 Web 服務器將接收到 的用戶請求處理後,再發送給客戶端瀏覽器,顯示給用戶。隨着網絡的發展,不少線下業務開始向網上發展,基於 Internet 的 Web 應用也變得愈來愈複雜,用戶所訪問的資源已不能只是侷限於服務器上保存的靜態網頁,更多的內容須要根據用戶的請求動態生成頁面信息,即動態網站。這些網站一般使用 HTML 語言和動態腳本語言(如 JSP、ASP 或者是 PHP 等)編寫,並將編寫後的程序部署到 Web 服務器上,由 Web 服務器對動態腳本代碼進行處理,並轉化爲瀏覽器能夠解析的 HTML 代碼,返回給客戶端瀏覽器,顯示給用戶。就比如,靜態網站相似於 10 年前的手機,這種手機只能使用出廠時設置的功能和鈴聲,用戶本身並不能對其鈴聲進行添加和刪除等;而動態網站則相似於如今研製的手機,用戶在使用這些手機時,再也不是隻能使用手機中默認的鈴聲,而是能夠根據本身的喜愛任意設置。2. Web 應用技術在開發 Web 應用程序時,一般須要應用客戶端和服務器端兩方面的技術。其中,客戶端應用的技術主要用於展示信息內容,而服務器端應用的技術,則主要用於進行業務邏輯的處理和與數據庫的交互等。1) 、客戶端應用的技術在進行 Web 應用開發時,離不開客戶端技術的支持。目前,比較經常使用的客戶端技術包 括 HTML 語言、CSS、Flash 和客戶端腳本技術。✓ HTMLHTML 語言是客戶端技術的基礎,主要用於顯示網頁信息,有瀏覽器解釋執行,它不需 要編譯。✓ CSSCSS 就是一種叫作樣式表的技術,也有人稱之爲層疊樣式表。在製做網頁時纔有用 CSS 樣式,能夠有效地對頁面的佈局、字體、顏色、背景和其餘效果實現更加精確的控制。✓ FlashFlash 是一種交互式矢量動畫製做技術,它能夠包含動畫、音頻、視頻以及應用程序, 並且 Flash 文件比較小,很是適合在 Web 上應用。✓ 客戶端腳本技術客戶端腳本技術是指嵌入到 Web 頁面中的程序代碼,這些程序代碼是一種解釋性的語言,瀏覽器能夠對客戶端腳本進行解釋。經過腳本語言能夠實現以編程的方式對頁面元素進行控制,從而增長頁面的靈活性。經常使用的客戶端腳本語言由 JavaScript 和 VBScript。目前, 應用最普遍的客戶端腳本語言是 JavaScript 腳本,它是 Ajax 的重要組成部分。

2)、 服務器端應用的技術在開發動態網站時,離不開服務器端技術,比較傳統和經典的 Web 服務器端技術主要 有:CGI、ASP、SERVLET/JSP、PHP 等。✓ CGI(公用網關接口)CGI 能夠說是最先的 WEB 服務器端技術,它是個 HTTP 過濾程序,其大體的原理是:CGI 是在 WEB 服務器上運行的一個程序,該程序定義了 WEB 客戶請求與應答的一種方法。客戶 向服務器的請求(主要是 HTML 表單)只要屬於 CGI 定義範圍,就啓動 CGI 程序,其任務是 把客戶的請求從網管的環境變量中取出並加以轉換,提交給服務器上的 CGI 應用程序,這些 程序能夠用 C/C++/PERL 等語言編寫,這些程序具有訪問服務器資源(好比數據庫)的能力, 這些程序的運行結果,經過 CGI 轉換成 HTML 格式,發送到客戶端。 CGI 程序很容易實現對服務器資源的訪問,可是向客戶端輸出則比較麻煩,程序員不能 使用「所見即所得」的網頁製做工具,只能一行行手寫 HTML 代碼,向客戶端輸出,不適合生成複雜頁面,這項技術如今使用的人很少。 可是,CGI 的基本原理卻被後續的服務器端網頁技術沿用。✓ ASPASP 是微軟研發的技術,出現於 1997 年先後。它解決了 CGI 的輸出麻煩。 ASP 容許 HTML 和服務器端腳本混合編程。能夠在 HTML 中插入括起來的代碼段, 這些代碼能夠用 JavaScriptVBScript 等腳本語言編寫,但他們是在服務器上執行的。 ASP 編程是很是方便的,你能夠先用「所見即所得」的網頁製做工具把頁面效果作出來, 而後再在其中插入服務器端腳本輸出服務器端的計算結果。它的缺點是:HTML 和腳本混合編程,使程序的可讀性不好,不利於維護大型 WEB 項目,腳本程序的調試也是個問題。2003 年先後退出的 http://ASP.NET 基本解決了上述問題。 ASP 還內置了幾個對象,這些對象不須要實例化便可使用,實現網頁的狀態維護、HTTP 模擬等功能,這些對象後來大都出現於 JSP 中。✓ PHPPHP 語法相似於 C,別切混合了 Perl、C++和 Java 的一些特性。它是一種開元的 Web 服 務器腳本語言,於 ASP 同樣能夠在頁面中加入腳本代碼來生成動態內容。對於一些複雜的 操做能夠封裝到函數或類中。在 PHP 中提供了許多已經定義好的函數,例如提供的標準的 數據庫接口,是的數據庫鏈接方面,擴展性強。PHP 能夠被多個平臺支持但被普遍應用於 UNIX/Linux 平臺。因爲 PHP 自己的代碼對外開放,而且通過許多軟件工程師的檢測,所以到 目前爲止該技術具備公認的安全性能。✓ JSPJava Server Page 簡稱 JSP。JSP 是以 Java 爲基礎開發的,因此它沿用 Java 強大的 API 功 能。JSP 頁面中的 HTML 代碼用來顯示靜態內容部分,嵌入到頁面中的 Java 代碼與 JSP 標記 用來生成動態的內容。JSP 容許程序員編寫本身的標籤庫來完成應用程序的特定要求。JSP 能夠被預編譯,提升了程序的運行速度。另外,JSP 開發的應用程序通過一次編譯後,即可 隨時隨地運行。因此在絕大部分系統平臺中,代碼無需作修改便可在支持 JSP 的任何服務器中運行。✓ ServletServlet 是 Java 早期的 Web 服務器端技術,用 Java 語言編寫。不管是從原理和編程方式 上,幾乎就是 CGI 的翻版,具備 CGI 的缺點和優勢,與 CGI 主要不一樣的是,Servlet 對每一個請求都是單獨啓動一個線程,而不是進程。關於Javaweb應用程序就介紹到這裏,下次小樂會帶來Tomcat,詳細講解Tomcat的前先後後和安裝使用。程序員

相關文章
相關標籤/搜索