Servlet 教程 1. Servlet的基礎(chǔ)結(jié)構(gòu)
下面我們來(lái)談?wù)勌幚碛脩鬐ET請(qǐng)求的最簡(jiǎn)單的servlet框架。GET請(qǐng)求就是用戶在瀏覽器的地址欄里輸入一個(gè)地址、在網(wǎng)頁(yè)上點(diǎn)擊連接或產(chǎn)生一個(gè)沒(méi)有定義方法的HTML表單后產(chǎn)生的請(qǐng)求。Servlets還能輕松處理表單的提交(POST),關(guān)于處理表單提交我們將在后面幾部分談到。
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表單數(shù)據(jù) (如用戶輸入和提交的數(shù)據(jù)) // 用"response"指定http響應(yīng) 和http信息頭 // (如指明信息的類型、設(shè)定cookie).
PrintWriter out = response.getWriter(); // 用 "out"輸出內(nèi)容到瀏覽器 } }
不管是用doGet還是doPost方法,servlet都要用到HttpServlet擴(kuò)展類。這些方法可分為兩類:HttpServletRequest和HttpServletResponse。HttpServletRequest含有獲得表單數(shù)據(jù)、HTTP信息頭等信息的方法。 HttpServletResponse則包含指明HTTP響應(yīng) (200, 404,等。)、信息頭(Content-Type, Set-Cookie, 等。)的方法,更重要的是你能使用PrintWriter方法向客戶端輸出信息。注意doGet和doPost方法會(huì)拋出兩個(gè)異常,所以必須在定義里包含他們。要用到PrintWriter、HttpServlet和HttpServletRequest, HttpServletResponse方法還必須分別引入java.io、javax.servlet和javax.servlet.http。 一般來(lái)說(shuō),doGet和doPost是被service方法調(diào)用的,但有時(shí)候你可能想越過(guò)service方法而直接使用自己定義的service方法,比如定義一個(gè)既能處理GET也能處理POST請(qǐng)求的servlet。 本人譯自http://www.apl.jhu.edu/~hall/java/Servlet-Tutorial/ 有不妥之處,還請(qǐng)各位指教!
|
溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!