HttpServlet的功能
HttpServlet的作用是:
根據客戶發出的HTTP請求,生成響應的HTTP響應結果。HttpServlet首先必須讀取HTTP請求的內容。Servlet容器負責創建HttpRequest對象,并把HTTP請求信息封裝到HttpRequest對
象中,這大大簡化了HttpServlet解析請求數據的工作量。
如果沒有HttpServletRequest,HttpServlet只能直接處理Web客戶發出的原始的字符串數據,有了HttpRequest后,只要調用HttpServletRequest的相關方法,就可以方便地讀取
HTTP請求中任何部分信息,HttpServletRequest中讀取HTTP請求信息的常用方法如下:
getCookies() 返回HTTP請求的Cookies
getHeader(String name) 返回參數指定的HTTP請求的Header數據
getRequestURI() 返回HTTP請求URI
getQueryString() 返回HTTP請求數據中的查詢字符串
getMethod() 返回HTTP請求方法。
Servlet容器向HttpServlet提供了HttpServletResponse對象,HttpServlet可以通過它來生成HTTP響應的沒一個部分內容。HttpServletResponse提供的生成響應數據Header的方法
如下:
addCookie(Cookie cookie) 向HTTP響應中加入Cookie
setHeader(String name,String value) 設置HTTP響應的Header,如果參數name對應的Header已經存在,則覆蓋原來的Header數據
addHeader(String name,String value) 向HTTP響應加入Header.
HttpServlet的service方法
Servlet容器調用自身的方法解析HTTP請求信息。
1:Web客戶向Servlet容器發出HTTP請求;
2:Servlet容器解析Web客戶的HTTP請求;
3:Servlet容器創建一個HttpRequest對象,在這個對象中封裝了HTTP請求信息;
4:Servlet容器創建一個HttpResponse對象;
5:Servlet容器調用HttpServlet的service方法,把HttpRequest和HttpResponse對象作為service方法的參數傳給HttpServlet對象;
6:HttpServlet調用HttpRequest的有關方法,獲取HTTP請求信息;
7:HttpServlet調用HttpResponse的有關方法,生成響應數據;
8:Servlet容器把HttpServlet的響應結果傳給Web客戶。