這篇文章主要介紹瞭java HttpServletRequest和HttpServletResponse詳解的相關資料,需要的朋友可以參考下
java HttpServletRequest和HttpServletResponse詳解
最近由於CAS相關的JAR包的重新封裝,所以想盡量做到0配置,而這個過程中大量使
用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類型 |
感謝閱讀,希望能幫助到大傢,謝謝大傢對本站的支持!
from: http://www.15jb.net/java-httpservletrequest%E5%92%8Chttpservletresponse%E8%A9%B3%E8%A7%A3