servlet提供的service方法實現了GenericServlet的service方法,在HttpServlet 對象的doMethod( Get, Delete, Options, Post, Put, or Trace) 方法中,或者在其餘實現了Servlet接口的類的方法中。術語service method用來描述Servlet類中的任何能提供給客戶端調用的方法的。
一般,service方法用來從請求中讀取信息,訪問外部資源,而後基於這些信息填充相應數據。對HTTP Servlet來講,正確的填充相應的步驟以下:html
響應頭必須在響應提交以前設置,web容器將忽略響應提交以後設置響應頭或添加響應頭的操做。下兩節描述如何從請求中獲取信息和生成響應。java
請求攜帶數據從客戶端傳到服務端。全部請求都實現了ServletRequest接口。這個接口定義的方法能夠訪問下面的信息:web
固然你也能夠直接獲取輸入流,並手工解析數據。讀取這些數據,最好使用BufferedReader對象獲取請求的getReader方法。讀取字節流數據,須要使用getInputStream方法返回的ServletInputStream對象。
Http servlet傳遞一個Http請求對象,HttpServletRequest,它包含請求URL、Http頭信息、查詢字符串等等。Http URL包含下列信息:服務器
http://[host]:[port][request-path]?[query-string]
請求路徑還包括一下元素:cookie
你可使用HttpServletRequest接口的getContextPath, getServletPath, and getPathInfo方法訪問這些信息。除url編碼與請求路徑有區別外,請求路徑老是等於上下文路徑+servlet路徑+path路徑。
查詢字符串由一組參數和值組成。單個參數能夠經過請求的getParameter方法獲取。有下面兩種方式生成查詢字符串:session
響應包含從服務端傳到客戶端的數據。全部的響應都實現了ServletResponse接口。這個接口定義的方法支持作下面的工做:編碼
Http響應對象, javax.servlet.http.HttpServletResponse,有表示Http頭的屬性,以下:url