什么是servlet:1分鐘理解Servlet的概念
Servlet 是 SUN 推出的一套規范,規定了如何用 Java 來開發動態網站。也就是說,Java 可以用來開發網站后臺,但是要遵循一定的標準。
Servlet 可以使用所有的 Java API,類庫豐富,功能強大。
通過Servlet,你可以:
例如,要在網頁上顯示IP地址,它的HTML源碼是:
這就是古老的 CGI(Common Gateway Interface,公共網關接口)程序,需要把HTML代碼當做字符串,通過輸出語句一條一條的輸出。互聯網初期,CGI 程序大行其道,為互聯網的發展做出了不可磨滅的貢獻。

圖1 http 請求的過程
Servlet 包含了一些列的 Java 類,由支持 Servlet 規范的Web服務器來運行。
可以通過 javax.servlet 和 javax.servlet.http 包來創建 Servlet 程序,這兩個包是 J2EE 的一部分,是 Java 核心類庫的擴展,他們實現了 Servlet 和 JSP 規范。
你可以像編譯普通Java代碼一樣來編譯Servlet程序:當你安裝了 Servlet 的包,設置了 classpath 環境變量,就可以使用 JDK 來編譯 Servlet 程序了。
總結:Servlet 是一套規范,規定了如何通過Java代碼來開發動態網站,并由 javax.servlet 和 javax.servlet.http 兩個包中的類來實現。
Servlet 可以使用所有的 Java API,類庫豐富,功能強大。
通過Servlet,你可以:
- 接收用戶通過 <form> 表單提交的信息;
- 查詢數據庫,包括用戶信息、文章內容、頁面點擊次數等;
- 生成驗證碼,防止機器惡意注冊。
例如,要在網頁上顯示IP地址,它的HTML源碼是:
<html lang="zh"> <head> <meta charset="UTF-8"> <title>演示頁面</title> </head> <body> <p>你的IP地址是:127.0.0.1</p> </body> </html>那么服務器上的Java代碼就應該這樣寫:
// 導入必需的類 import java.io.*; import javax.servlet.*; import javax.servlet.http.*; // 繼承 HttpServlet 類 public class HelloWorld extends HttpServlet { public void init() throws ServletException{ // TODO } public void doGet( HttpServletRequest request, HttpServletResponse response )throws ServletException, IOException{ // 設置報頭類型 response.setContentType("text/html"); // 必須通過println()輸出HTML代碼 PrintWriter out = response.getWriter(); out.println('<!DOCTYPE html>'); out.println('<html lang="zh">'); out.println('<head>'); out.println('<meta charset="UTF-8">'); out.println('<title>演示頁面</title>'); out.println('</head>'); out.println('<body>'); out.println('<p>你的IP地址是:'); out.println(request.getRemoteAddr()); out.println('</p>'); out.println('</body>'); out.println('</html>'); } public void destroy(){ // TODO } }用戶接收到的HTML代碼,都是通過 println() 語句輸出的。
這就是古老的 CGI(Common Gateway Interface,公共網關接口)程序,需要把HTML代碼當做字符串,通過輸出語句一條一條的輸出。互聯網初期,CGI 程序大行其道,為互聯網的發展做出了不可磨滅的貢獻。

圖1 http 請求的過程
Servlet 包含了一些列的 Java 類,由支持 Servlet 規范的Web服務器來運行。
可以通過 javax.servlet 和 javax.servlet.http 包來創建 Servlet 程序,這兩個包是 J2EE 的一部分,是 Java 核心類庫的擴展,他們實現了 Servlet 和 JSP 規范。
你可以像編譯普通Java代碼一樣來編譯Servlet程序:當你安裝了 Servlet 的包,設置了 classpath 環境變量,就可以使用 JDK 來編譯 Servlet 程序了。
總結:Servlet 是一套規范,規定了如何通過Java代碼來開發動態網站,并由 javax.servlet 和 javax.servlet.http 兩個包中的類來實現。