概述

2018-08-12 21:20 更新

概述

什么是 Servlets?

Java servlet 是運(yùn)行在 Web 或應(yīng)用服務(wù)器上的程序,作為在來自 Web 瀏覽器或其他 HTTP 客戶機(jī)的請求和在 HTTP 服務(wù)器上的數(shù)據(jù)庫或應(yīng)用程序的中間層。

使用 Servlet,你可以通過 web 頁面表單來收集用戶的輸入,顯示從數(shù)據(jù)庫或其他來源的記錄,動態(tài)地創(chuàng)建 web 頁面。

Java servlet 通常服務(wù)于使用 Common Gateway Interface (CGI) 實(shí)現(xiàn)的同樣的目的程序。但與 CGI 相比,Servlet 具有幾個(gè)優(yōu)點(diǎn)。

  • 性能更好。

  • Servlet 在 Web 服務(wù)器的地址空間內(nèi)執(zhí)行。沒有必要?jiǎng)?chuàng)建一個(gè)單獨(dú)的進(jìn)程來處理每個(gè)客戶端請求。

  • 由于 Servlet 是用 Java 編寫的,所以它是跨平臺的。

  • 在服務(wù)器上的 Java 安全性管理器執(zhí)行的一些限制來保護(hù)服務(wù)器上的資源。所以 servlet 是可信的。

  • Java 類庫的完整的功能是對 Servlet 來說是可用的。它可以與小應(yīng)用程序、數(shù)據(jù)庫或其他軟件通過通信接口和你已經(jīng)了解的RMI機(jī)制進(jìn)行通信。

Servlets 架構(gòu)

下圖顯示了在 Web 應(yīng)用程序中 Servlets 的位置。

Servlets 任務(wù)

Servlet 執(zhí)行以下主要任務(wù):

  • 讀取由客戶端(瀏覽器)發(fā)送的顯式數(shù)據(jù)。這包括網(wǎng)頁上的 HTML 表單,或者也可以是來自 applet 或自定義的 HTTP 客戶端程序的表單。

  • 讀取由客戶端(瀏覽器)發(fā)送的隱式 HTTP 請求數(shù)據(jù)。這包括 cookies、媒體類型和瀏覽器能理解的壓縮格式等等。

  • 處理數(shù)據(jù)并生成結(jié)果。這個(gè)過程可能需要訪問數(shù)據(jù)庫,執(zhí)行 RMI 或 CORBA 調(diào)用,調(diào)用 Web 服務(wù),或者直接計(jì)算響應(yīng)。

  • 發(fā)送顯式數(shù)據(jù)(即文檔)到客戶端(瀏覽器)。該文檔可以以多種多樣的格式被發(fā)送,包括文本文件(HTML 或 XML)、二進(jìn)制文件(GIF 圖像)、Excel 等。

  • 發(fā)送隱式的 HTTP 響應(yīng)到客戶端(瀏覽器)。這包括告訴瀏覽器或其他客戶端被返回的文檔類型(例如 HTML),設(shè)置 cookies 和緩存參數(shù),以及其他類似的任務(wù)。

Servlets 包

Java Servlet 是運(yùn)行在 Web 服務(wù)器上的 Java 類,在 Web 服務(wù)器上有一個(gè)支持 Java Servlet 規(guī)范的解釋器。

Servlet 可以使用 javax.servletjavax.servlet.http 包來創(chuàng)建。它們是 Java 企業(yè)版的一個(gè)標(biāo)準(zhǔn)部分,也是支持大型開發(fā)項(xiàng)目的 Java 類庫的擴(kuò)展版。

這些類實(shí)現(xiàn)了 Java Servlet 和 JSP 規(guī)范。在寫這篇教程的時(shí)候,使用的版本分別是 Java Servlet 2.5 和 JSP 2.5。

就像任何其他 Java 類一樣,Java Servlet 可以創(chuàng)建和編譯。在安裝 Servlet 包,并將它們添加到你的電腦的 Classpath 中之后,你可以使用 JDK 的 Java 編譯器或其他任何當(dāng)前編譯器來編譯 Servlet。

后續(xù)內(nèi)容

接下來,本教程會帶你一步一步地設(shè)置你的環(huán)境,以便開始后續(xù)的 Servlet 使用。因此,請系緊安全帶,隨我們一起開始 Servlet 的學(xué)習(xí)之旅吧!相信你會很喜歡這個(gè)教程的。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號