Servlet 教程 1. Servlet的基礎結構
下面我們來談談處理用戶GET請求的最簡單的servlet框架。GET請求就是用戶在瀏覽器的地址欄里輸入一個地址、在網頁上點擊連接或產生一個沒有定義方法的HTML表單后產生的請求。Servlets還能輕松處理表單的提交(POST),關于處理表單提交我們將在后面幾部分談到。
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class SomeServlet extends HttpServlet { public void doGet( HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 用 "request" 讀取http信息頭(如cookie) // 和HTML表單數據 (如用戶輸入和提交的數據) // 用"response"指定http響應 和http信息頭 // (如指明信息的類型、設定cookie).
PrintWriter out = response.getWriter(); // 用 "out"輸出內容到瀏覽器 } }
不管是用doGet還是doPost方法,servlet都要用到HttpServlet擴展類。這些方法可分為兩類:HttpServletRequest和HttpServletResponse。HttpServletRequest含有獲得表單數據、HTTP信息頭等信息的方法。 HttpServletResponse則包含指明HTTP響應 (200, 404,等。)、信息頭(Content-Type, Set-Cookie, 等。)的方法,更重要的是你能使用PrintWriter方法向客戶端輸出信息。注意doGet和doPost方法會拋出兩個異常,所以必須在定義里包含他們。要用到PrintWriter、HttpServlet和HttpServletRequest, HttpServletResponse方法還必須分別引入java.io、javax.servlet和javax.servlet.http。 一般來說,doGet和doPost是被service方法調用的,但有時候你可能想越過service方法而直接使用自己定義的service方法,比如定義一個既能處理GET也能處理POST請求的servlet。 本人譯自http://www.apl.jhu.edu/~hall/java/Servlet-Tutorial/ 有不妥之處,還請各位指教!
|