HttpServlet的功能
HttpServlet的作用是:
根據(jù)客戶發(fā)出的HTTP請(qǐng)求,生成響應(yīng)的HTTP響應(yīng)結(jié)果。HttpServlet首先必須讀取HTTP請(qǐng)求的內(nèi)容。Servlet容器負(fù)責(zé)創(chuàng)建HttpRequest對(duì)象,并把HTTP請(qǐng)求信息封裝到HttpRequest對(duì)
象中,這大大簡(jiǎn)化了HttpServlet解析請(qǐng)求數(shù)據(jù)的工作量。
如果沒(méi)有HttpServletRequest,HttpServlet只能直接處理Web客戶發(fā)出的原始的字符串?dāng)?shù)據(jù),有了HttpRequest后,只要調(diào)用HttpServletRequest的相關(guān)方法,就可以方便地讀取
HTTP請(qǐng)求中任何部分信息,HttpServletRequest中讀取HTTP請(qǐng)求信息的常用方法如下:
getCookies() 返回HTTP請(qǐng)求的Cookies
getHeader(String name) 返回參數(shù)指定的HTTP請(qǐng)求的Header數(shù)據(jù)
getRequestURI() 返回HTTP請(qǐng)求URI
getQueryString() 返回HTTP請(qǐng)求數(shù)據(jù)中的查詢字符串
getMethod() 返回HTTP請(qǐng)求方法。
Servlet容器向HttpServlet提供了HttpServletResponse對(duì)象,HttpServlet可以通過(guò)它來(lái)生成HTTP響應(yīng)的沒(méi)一個(gè)部分內(nèi)容。HttpServletResponse提供的生成響應(yīng)數(shù)據(jù)Header的方法
如下:
addCookie(Cookie cookie) 向HTTP響應(yīng)中加入Cookie
setHeader(String name,String value) 設(shè)置HTTP響應(yīng)的Header,如果參數(shù)name對(duì)應(yīng)的Header已經(jīng)存在,則覆蓋原來(lái)的Header數(shù)據(jù)
addHeader(String name,String value) 向HTTP響應(yīng)加入Header.
HttpServlet的service方法
Servlet容器調(diào)用自身的方法解析HTTP請(qǐng)求信息。
1:Web客戶向Servlet容器發(fā)出HTTP請(qǐng)求;
2:Servlet容器解析Web客戶的HTTP請(qǐng)求;
3:Servlet容器創(chuàng)建一個(gè)HttpRequest對(duì)象,在這個(gè)對(duì)象中封裝了HTTP請(qǐng)求信息;
4:Servlet容器創(chuàng)建一個(gè)HttpResponse對(duì)象;
5:Servlet容器調(diào)用HttpServlet的service方法,把HttpRequest和HttpResponse對(duì)象作為service方法的參數(shù)傳給HttpServlet對(duì)象;
6:HttpServlet調(diào)用HttpRequest的有關(guān)方法,獲取HTTP請(qǐng)求信息;
7:HttpServlet調(diào)用HttpResponse的有關(guān)方法,生成響應(yīng)數(shù)據(jù);
8:Servlet容器把HttpServlet的響應(yīng)結(jié)果傳給Web客戶。
posted on 2009-03-08 12:13 亂せ英豪 閱讀(1518) 評(píng)論(0) 編輯 收藏