01 00Servlet基礎之Servlet簡介

1 什麼是Servlet?

Java Servlet是運行在Web服務器或應用服務器上的程序,它是作爲來自Web瀏覽器或其他HTTP客戶端的請求和HTTP服務器上的數據庫或應用程序之間的中間層。

使用Servlet我們可以做到如下的功能:
(1)可以收集來自網頁表單的用戶輸入;
(2)呈現來自數據庫或者其他源的記錄;
(3)動態的創建網頁。

Java Servlet通常情況下與使用CGI(Common Gateway Interface,公共網關接口)實現的程序可以達到異曲同工之妙。但是相比於CGI,Servlet有以下幾點優勢:
(1)性能明顯更好;
(2)Servlet在Web服務器的地址空間內執行。這樣它就沒有必要在創建一個單獨的進程來處理每個客戶端的請求;
(3)Servlet是獨立於平臺的,因爲它們是Java編寫的。
(4)服務器上的Java安全管理器執行了一系列限制,以保護服務器計算機上的資源。因此,Servlet是可信的。
(5)Java類庫的全部功能對Servlet來說都是可用的。它可以通過sockets和RMI機制與applets、數據庫或其他軟件進行交互。

2 Servlet架構

3 Servlet任務

Servlet主要執行以下任務:
(1)讀取客戶端(瀏覽器)發送的顯式數據。這包括網頁上的HTML表單,或者也可以是來自applet或自定義的HTTP客戶端程序的表單。
(2)讀取客戶端(瀏覽器)發送的隱式的HTTP請求數據。這包括Cookies、媒體類型和瀏覽器能理解的壓縮格式等等。
(3)處理數據並生成結果。這個過程可能需要訪問數據庫,執行RMI或者CORBA調用,調用Web服務,或者直接計算得出對應的響應。
(4)發送顯式的數據(即文檔)到客戶端(瀏覽器)。該文檔格式可以是多種多樣的,包括文本文件(HTML或XML)、二進制文件(GIF圖像)、Excel等。
(5)發送隱式的HTTP響應到客戶端(瀏覽器)。這包括告訴瀏覽器或者其他客戶端被返回的文檔類型(例如HTML),設置cookies和緩存參數,以及其他類似的任務。

4 Servlet包

Java Servlet是運行在帶有支持Java Servlet規範的解釋器web服務器上的Java類。

Servlet可以使用javax.servlet和javax.servlet.http包創建,它是Java企業版的標準組成部分,Java企業版是支持大型開發項目的Java類庫的擴展版本。要使用這兩個包需要導入servlet-api.jar包。

這些類實現Java Servlet和JSP規範。

Java Servlet就像其他任何的Java類一樣已經被創建和編譯。在我們安裝Servlet包並把它們添加到計算機上的Classpath路徑中之後,就可以通過JDK的Java編譯器來編譯Servlet。

import java.io.IOException;

import javax.servlet.http.HttpServlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.annotation.WebServlet;

@WebServlet(name="/AServlet",urlPatterns={"/AServlet"})
public class AServlet extends HttpServlet{

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{
		response.getWriter().print("hello");
	}
}  

之後通過cmd命令行使用命令javac編譯即可,編譯命令格式如下:

# javac爲編譯命令,-cp代表附加classpath路徑,後面緊跟jar包路徑,最後是.java文件
javac -cp "D:\Program Files\Tomcat\apache-tomcat-9.0.13\lib\servlet-api.jar" AServlet.java
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章