用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類型 |