天天看點

HttpServletRequest 和 HttpServletResponse詳解

用HttpServletRequest,現在整理如下,以便以後查閱

請求與響應相關的類和接口非常多,下表是主要的與請求和接口相關的類以及接口。

主要的與請求和接口相關的類及接口

       方    法 說    明
ServletInputStream Servlet的輸入流
ServletOutputStream Servlet的輸出流
ServletRequest 代表Servlet請求的一個接口
ServletResponse 代表Servlet響應的一個接口
ServletRequestWrapper 該類實作ServletRequest接口
ServletResponseWrapper 該類實作ServletResponse接口
HttpServletRequest 繼承了ServletRequest接口,表示HTTP請求
HttpServletResponse 繼承了ServletResponse接口,表示HTTP請求
HttpServletRequestWrapper HttpServletRequest的實作
HttpServletResponseWrapper HttpServletResponse的實作

在上面給出的類和接口中,最主要的是HttpServletRequest和HttpServletResponse接口,下面将詳細介紹這兩個接口。

1.HttpServletRequest

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() 擷取請求的檔案的路徑

2.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類型