HttpServletRequest HttpServletResponse接口詳解


 

 

HttpServletRequest接口最常用的方法就是獲得請求中的參數,這些參數一般是客戶端表單中的數據。同時,HttpServletRequest接口可以獲取由客戶端傳送的名稱,也可以獲取產生請求並且接收請求的服務器端主機名及IP地址,還可以獲取客戶端正在使用的通信協議等信息。下表是接口HttpServletRequest的常用方法。

說明:HttpServletRequest接口提供了很多的方法。

接口HttpServletRequest的常用方法

    法

    明

getAttributeNames()

返回當前請求的所有屬性的名字集合

getAttribute(String name)

返回name指定的屬性值

getCookies()

返回客戶端發送的Cookie

getsession()

返回和客戶端相關的session,如果沒有給客戶端分配session,則返回null

getsession(boolean create)

返回和客戶端相關的session,如果沒有給客戶端分配session,則創建一個session並返回

getParameter(String name)

獲取請求中的參數,該參數是由name指定的

getParameterValues(String name)

返回請求中的參數值,該參數值是由name指定的

getCharacterEncoding()

返回請求的字符編碼方式

getContentLength()

返回請求體的有效長度

getInputStream()

獲取請求的輸入流中的數據

getMethod()

獲取發送請求的方式,如get、post

getParameterNames()

獲取請求中所有參數的名字

getProtocol()

獲取請求所使用的協議名稱

getReader()

獲取請求體的數據流

getRemoteAddr()

獲取客戶端的IP地址

getRemoteHost()

獲取客戶端的名字

getServerName()

返回接受請求的服務器的名字

getServerPath()

獲取請求的文件的路徑

 

HttpServletResponse

在Servlet中,當服務器響應客戶端的一個請求時,就要用到HttpServletResponse接口。設置響應的類型可以使用setContentType()方法。發送字符數據,可以使用getWriter()返回一個對象。下表是接口HttpServletResponse的常用方法。

接口HttpServletResponse的常用方法

       方    法

    明

addCookie(Cookie cookie)

將指定的Cookie加入到當前的響應中

addHeader(String name,String value)

將指定的名字和值加入到響應的頭信息中

containsHeader(String name)

返回一個布爾值,判斷響應的頭部是否被設置

encodeURL(String url)

編碼指定的URL

sendError(int sc)

使用指定狀態碼發送一個錯誤到客戶端

sendRedirect(String location)

發送一個臨時的響應到客戶端

setDateHeader(String name,long date)

將給出的名字和日期設置響應的頭部

setHeader(String name,String value)

將給出的名字和值設置響應的頭部

setStatus(int sc)

給當前響應設置狀態碼

setContentType(String ContentType)

設置響應的MIME類型

2、一些區別細節

一、ServletRequest
 
代表一個HTTP請求,請求在內存中是一個對象,這個對象是一個容器,可以存放請求參數和屬性。
 
1、請求對象何時被創建,當通過URL訪問一個JSP或者Servlet的時候,也就是當調用Servlet的service()、doPut()、doPost()、doXxx()方法時候的時候,執行Servlet的web服服務器就自動創建一個ServletRequest和ServletResponse的對象,傳遞給服務方法作為參數。
 
2、請求對象由Servlet容器自動產生,這個對象中自動封裝了請求中get和post方式提交的參數,以及請求容器中的屬性值,還有http頭等等。當Servlet或者JSP得到這個請求對象的時候,就知道這個請求時從哪里發出的,請求什么資源,帶什么參數等等。
 
3、ServletRequest的層次結構
javax.servlet.ServletRequest 
  javax.servlet.http.HttpServletRequest
 
4、通過請求對象,可以獲得Session對象和客戶端的Cookie。
 
5、請求需要指定URL,瀏覽器根據URL生成HTTP請求並發送給服務器,請求的URL有一定的規范:
二、ServletResponse
 
也是由容器自動創建的,代表Servlet對客戶端請求的響應,響應的內容一般是HTML,而HTML僅僅是響應內容的一部分。請求中如果還包含其他資源會依次獲取,如頁面中含有圖片,會進行第二個http請求用來獲得圖片內容。
相應對象有以下功能:
1、向客戶端寫入Cookie
2、重寫URL
3、獲取輸出流對象,向客戶端寫入文本或者二進制數據
4、設置響應客戶端瀏覽器的字符編碼類型
5、設置客戶端瀏覽器的MIME類型。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM