首頁  >  文章  >  Java  >  什麼是servlet

什麼是servlet

青灯夜游
青灯夜游原創
2023-01-28 09:51:1112937瀏覽

Servlet全名為“Java Servlet”,中文意思是小服務程序或服務連接器,是運行在Web伺服器或應用伺服器上的程序,它是作為來自Web瀏覽器或其他HTTP客戶端的請求和HTTP伺服器上的資料庫或應用程式之間的中間層。 Servlet具有獨立於平台和協定的特性,主要功能在於互動式地瀏覽和產生數據,產生動態Web內容。

什麼是servlet

本教學操作環境:windows7系統、java8版、DELL G3電腦。

什麼是servlet

Servlet(Server Applet)是Java Servlet 的簡稱,稱為小型服務程式或服務連接器,用Java編寫的伺服器端程序,具有獨立於平台和協定的特性,主要功能在於互動式瀏覽和產生數據,產生動態Web 內容。

Java Servlet 是運行在 Web 伺服器或應用程式伺服器上的程序,它是作為來自 Web 瀏覽器或其他 HTTP 用戶端的請求和 HTTP 伺服器上的資料庫或應用程式之間的中間層。

狹義的 Servlet 是指 Java 語言實現的一個接口,廣義的 Servlet 是指任何實現了這個 Servlet 接口的類,一般情況下,人們將 Servlet 理解為後者。 Servlet 運行於支援 Java 的應用程式伺服器中。從原理上講,Servlet 可以回應任何類型的請求,但絕大多數情況下 Servlet 只用來擴展基於 HTTP 協定的 Web 伺服器。

最早支援 Servlet 標準的是 JavaSoft 的 Java Web Server,此後,一些其它的基於 Java 的 Web 伺服器開始支援標準的 Servlet。

使用 Servlet,您可以收集來自網頁表單的使用者輸入,呈現來自資料庫或其他來源的記錄,也可以動態建立網頁。

Java Servlet 通常情況下與使用 CGI(Common Gateway Interface,公共網關介面)實現的程式可以達到異曲同工的效果。但相較於 CGI,Servlet 有以下幾點優勢:

  • 效能明顯更好。

  • Servlet 在 Web 伺服器的位址空間內執行。這樣它就沒有必要再建立一個單獨的進程來處理每個客戶端請求。

  • Servlet 是獨立於平台的,因為它們是用 Java 寫的。

  • 伺服器上的 Java 安全管理器執行了一系列限制,以保護伺服器電腦上的資源。因此,Servlet 是可信的。

  • Java 類別庫的全部功能對 Servlet 來說都是可用的。它可以透過 sockets 和 RMI 機制與 applets、資料庫或其他軟體互動。

Servlet 架構

#下圖顯示了 Servlet 在 Web 應用程式中的位置。

什麼是servlet

Servlet 任務

#Servlet 執行下列主要任務:

  • 讀取客戶端(瀏覽器)發送的明確的資料。這包括網頁上的 HTML 表單,或者也可以是來自 applet 或自訂的 HTTP 用戶端程式的表單。

  • 讀取客戶端(瀏覽器)發送的隱式的 HTTP 請求資料。這包括 cookies、媒體類型和瀏覽器能理解的壓縮格式等等。

  • 處理資料並產生結果。這個過程可能需要存取資料庫,執行 RMI 或 CORBA 調用,調用 Web 服務,或直接計算對應的回應。

  • 傳送明確的資料(即文件)到客戶端(瀏覽器)。該文件的格式可以是多種多樣的,包括文字檔案(HTML 或 XML)、二進位檔案(GIF 圖片)、Excel 等。

  • 傳送隱式的 HTTP 回應到客戶端(瀏覽器)。這包括告訴瀏覽器或其他用戶端被傳回的文件類型(例如 HTML),設定 cookies 和快取參數,以及其他類似的任務。

Servlet 套件

#Java Servlet 是運行在支援Java Servlet 規格的解釋器的web 伺服器上的Java 類別。

Servlet 可以使用 javax.servlet 和 javax.servlet.http 套件創建,它是 Java 企業版的標準組成部分,Java 企業版是支援大型開發專案的 Java 類別庫的擴展版本。

這些類別實作 Java Servlet 和 JSP 規格。在寫本教學的時候,二者對應的版本分別是 Java Servlet 2.5 和 JSP 2.1。

Java Servlet 就像任何其他的 Java 類別一樣已經被創建和編譯。在您安裝 Servlet 套件並將它們加入您的電腦上的 Classpath 類別路徑之後,您就可以透過 JDK 的 Java 編譯器或任何其他編譯器來編譯 Servlet。

更多程式相關知識,請造訪:程式設計教學! !

以上是什麼是servlet的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn