1. 程式人生 > >關於<Servlet>定義

關於<Servlet>定義

可移植性 更強 並發 網關 包含 tar 語言 strong 百度百科

1,百度百科定義: Servlet,稱為小服務程序或服務連接器,用Java編寫的服務器端程序,具有獨立於平臺和協議的特性,主要功能在於交互式地瀏覽和生成數據,生成動態Web內容。 狹義的Servlet是指Java語言實現的一個接口,廣義的Servlet是指任何實現了這個Servlet接口的類Servlet運行於支持Java的應用服務器中。 從原理上講,Servlet可以響應任何類型的請求,但絕大多數情況下Servlet只用來擴展基於HTTP協議的Web服務器。 Servlet = Service + Applet。
2,來源及優點: 服務器上需要一些根據用戶輸入訪問數據庫的程序,通常是使用公共網關接口(Common Gateway Interface,CGI)應用程序完成的。然而,在服務器上運行 Java,這種程序可使用 Java 編程語言實現。 在通信量大的服務器上,JavaServlet 的優點在於它們的執行速度更快於 CGI 程序。各個用戶請求被激活成單個程序中的一個線程,而無需創建單獨的進程,這意味著服務器端處理請求的系統開銷將明顯降低。 3,實現過程: Servlet 的主要功能在於交互式地瀏覽和修改數據,生成動態 Web 內容。這個過程為:
  1. 客戶端發送請求至服務器端;
  2. 服務器將請求信息發送至 Servlet;
  3. Servlet 生成響應內容並將其傳給服務器。響應內容動態生成,通常取決於客戶端的請求;
  4. 服務器將響應返回給客戶端。

參考理解:Servlet 對 Server 就如同 Applet對 Client 一樣 。

一個 Servlet 就是 Java 編程語言中的一個類,它被用來擴展服務器的性能,服務器上駐留著可以通過“請求-響應”編程模型來訪問的應用程序。雖然 Servlet 可以對任何類型的請求產生響應,但通常只用來擴展 Web 服務器的應用程序。

4,比較:

與 Applet 的比較

相似之處: * 它們不是獨立的應用程序,沒有 main() 方法。 * 它們不是由用戶或程序員調用,而是由另外一個應用程序(容器)調用。 * 它們都有一個生存周期,包含 init() 和 destroy() 方法。 不同之處: * Applet具有很好的圖形界面(AWT),與瀏覽器一起,在客戶端運行。 * Servlet 則沒有圖形界面,運行在服務器端。 與 CGI 比較 與傳統的 CGI 和許多其他類似 CGI 的技術相比,Java Servlet 具有更高的效率,更容易使用,功能更強大,具有更好的可移植性,更節省投資。在未來的技術發展過程中,Servlet 有可能徹底取代 CGI。 在傳統的 CGI中,每個請求都要啟動一個新的進程,如果 CGI 程序本身的執行時間較短,啟動進程所需要的開銷很可能反而超過實際執行時間。而在 Servlet 中,每個請求由一個輕量級的 Java 線程處理(而不是重量級的操作系統進程)。 在傳統 CGI 中,如果有 N 個並發的對同一 CGI程序的請求,則該CGI程序的代碼在內存中重復裝載了 N 次;而對於 Servlet,處理請求的是 N 個線程,只需要一份 Servlet 類代碼。在性能優化方面,Servlet 也比 CGI 有著更多的選擇。 方便,功能強大,可移植性強,節省投資。

關於<Servlet>定義