java HttpServletRequest和HttpServletResponse詳解
java HttpServletRequest和HttpServletResponse詳解
最近由于CAS相關(guān)的JAR包的重新封裝,所以想盡量做到0配置,而這個(gè)過(guò)程中大量使
用HttpServletRequest,現(xiàn)在整理如下,以便以后查閱。(表格為從別的地方復(fù)制的,排版渣了點(diǎn),酬和看吧。)
請(qǐng)求與響應(yīng)相關(guān)的類(lèi)和接口非常多,下表是主要的與請(qǐng)求和接口相關(guān)的類(lèi)以及接口。
主要的與請(qǐng)求和接口相關(guān)的類(lèi)及接口
|
方 法 |
說(shuō) 明 |
|
ServletInputStream |
Servlet的輸入流 |
|
ServletOutputStream |
Servlet的輸出流 |
|
ServletRequest |
代表Servlet請(qǐng)求的一個(gè)接口 |
|
ServletResponse |
代表Servlet響應(yīng)的一個(gè)接口 |
|
ServletRequestWrapper |
該類(lèi)實(shí)現(xiàn)ServletRequest接口 |
|
ServletResponseWrapper |
該類(lèi)實(shí)現(xiàn)ServletResponse接口 |
|
HttpServletRequest |
繼承了ServletRequest接口,表示HTTP請(qǐng)求 |
|
HttpServletResponse |
繼承了ServletResponse接口,表示HTTP請(qǐng)求 |
|
HttpServletRequestWrapper |
HttpServletRequest的實(shí)現(xiàn) |
|
HttpServletResponseWrapper |
HttpServletResponse的實(shí)現(xiàn) |
在上面給出的類(lèi)和接口中,最主要的是HttpServletRequest和HttpServletResponse接口,下面將詳細(xì)介紹這兩個(gè)接口。
1.HttpServletRequest
HttpServletRequest接口最常用的方法就是獲得請(qǐng)求中的參數(shù),這些參數(shù)一般是客戶(hù)端表單中的數(shù)據(jù)。同時(shí),HttpServletRequest接口可以獲取由客戶(hù)端傳送的名稱(chēng),也可以獲取產(chǎn)生請(qǐng)求并且接收請(qǐng)求的服務(wù)器端主機(jī)名及IP地址,還可以獲取客戶(hù)端正在使用的通信協(xié)議等信息。下表是接口HttpServletRequest的常用方法。
說(shuō)明:HttpServletRequest接口提供了很多的方法。
接口HttpServletRequest的常用方法
|
方 法 |
說(shuō) 明 |
|
getAttributeNames() |
返回當(dāng)前請(qǐng)求的所有屬性的名字集合 |
|
getAttribute(String name) |
返回name指定的屬性值 |
|
getCookies() |
返回客戶(hù)端發(fā)送的Cookie |
|
getsession() |
返回和客戶(hù)端相關(guān)的session,如果沒(méi)有給客戶(hù)端分配session,則返回null |
|
getsession(boolean create) |
返回和客戶(hù)端相關(guān)的session,如果沒(méi)有給客戶(hù)端分配session,則創(chuàng)建一個(gè)session并返回 |
|
getParameter(String name) |
獲取請(qǐng)求中的參數(shù),該參數(shù)是由name指定的 |
|
getParameterValues(String name) |
返回請(qǐng)求中的參數(shù)值,該參數(shù)值是由name指定的 |
|
getCharacterEncoding() |
返回請(qǐng)求的字符編碼方式 |
|
getContentLength() |
返回請(qǐng)求體的有效長(zhǎng)度 |
|
getInputStream() |
獲取請(qǐng)求的輸入流中的數(shù)據(jù) |
|
getMethod() |
獲取發(fā)送請(qǐng)求的方式,如get、post |
|
getParameterNames() |
獲取請(qǐng)求中所有參數(shù)的名字 |
|
getProtocol() |
獲取請(qǐng)求所使用的協(xié)議名稱(chēng) |
|
getReader() |
獲取請(qǐng)求體的數(shù)據(jù)流 |
|
getRemoteAddr() |
獲取客戶(hù)端的IP地址 |
|
getRemoteHost() |
獲取客戶(hù)端的名字 |
|
getServerName() |
返回接受請(qǐng)求的服務(wù)器的名字 |
|
getServerPath() |
獲取請(qǐng)求的文件的路徑 |
2.HttpServletResponse
在Servlet中,當(dāng)服務(wù)器響應(yīng)客戶(hù)端的一個(gè)請(qǐng)求時(shí),就要用到HttpServletResponse接口。設(shè)置響應(yīng)的類(lèi)型可以使用setContentType()方法。發(fā)送字符數(shù)據(jù),可以使用getWriter()返回一個(gè)對(duì)象。下表是接口HttpServletResponse的常用方法。
接口HttpServletResponse的常用方法
|
方 法 |
說(shuō) 明 |
|
addCookie(Cookie cookie) |
將指定的Cookie加入到當(dāng)前的響應(yīng)中 |
|
addHeader(String name,String value) |
將指定的名字和值加入到響應(yīng)的頭信息中 |
|
containsHeader(String name) |
返回一個(gè)布爾值,判斷響應(yīng)的頭部是否被設(shè)置 |
|
encodeURL(String url) |
編碼指定的URL |
|
sendError(int sc) |
使用指定狀態(tài)碼發(fā)送一個(gè)錯(cuò)誤到客戶(hù)端 |
|
sendRedirect(String location) |
發(fā)送一個(gè)臨時(shí)的響應(yīng)到客戶(hù)端 |
|
setDateHeader(String name,long date) |
將給出的名字和日期設(shè)置響應(yīng)的頭部 |
|
setHeader(String name,String value) |
將給出的名字和值設(shè)置響應(yīng)的頭部 |
|
setStatus(int sc) |
給當(dāng)前響應(yīng)設(shè)置狀態(tài)碼 |
|
setContentType(String ContentType) |
設(shè)置響應(yīng)的MIME類(lèi)型 |
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- Java中的HttpServletRequestWrapper用法解析
- Java中的HttpServletRequest接口詳細(xì)解讀
- Java獲取HttpServletRequest的三種方法詳解
- Java service層獲取HttpServletRequest工具類(lèi)的方法
- java通過(guò)HttpServletRequest獲取post請(qǐng)求中的body內(nèi)容的方法
- java接口返回參數(shù)按照請(qǐng)求參數(shù)進(jìn)行排序方式
- Java Spring Controller 獲取請(qǐng)求參數(shù)的幾種方法詳解
- Java如何獲取HttpServletRequest請(qǐng)求參數(shù)
相關(guān)文章
Java設(shè)計(jì)模式之觀察者模式(Observer Pattern)詳解
觀察者模式(Observer Pattern)是一種行為型設(shè)計(jì)模式,它定義了一種一對(duì)多的依賴(lài)關(guān)系,當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生改變時(shí),所有依賴(lài)于它的對(duì)象都能夠自動(dòng)地得到通知并進(jìn)行更新,本文將詳細(xì)的給大家介紹一下Java觀察者模式,需要的朋友可以參考下2023-07-07
Java調(diào)用Zookeeper的實(shí)現(xiàn)步驟
本文主要介紹了Java調(diào)用Zookeeper的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
Java錯(cuò)誤:進(jìn)行語(yǔ)法分析時(shí)已到達(dá)文件結(jié)尾的解決
這篇文章主要介紹了Java錯(cuò)誤:進(jìn)行語(yǔ)法分析時(shí)已到達(dá)文件結(jié)尾的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08
詳解SpringBoot應(yīng)用服務(wù)啟動(dòng)與安全終止
這篇文章主要介紹了SpringBoot應(yīng)用服務(wù)啟動(dòng)與安全終止,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
SpringBoot停止啟動(dòng)時(shí)測(cè)試檢查rabbitmq操作
這篇文章主要介紹了SpringBoot停止啟動(dòng)時(shí)測(cè)試檢查rabbitmq操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09
淺析SpringBoot多數(shù)據(jù)源實(shí)現(xiàn)方案
現(xiàn)在很多項(xiàng)目的開(kāi)發(fā)過(guò)程中,可能涉及到多個(gè)數(shù)據(jù)源,像讀寫(xiě)分離的場(chǎng)景,或者因?yàn)闃I(yè)務(wù)復(fù)雜,導(dǎo)致不同的業(yè)務(wù)部署在不同的數(shù)據(jù)庫(kù)上,那么這樣的場(chǎng)景,我們應(yīng)該如何在代碼中簡(jiǎn)潔方便的切換數(shù)據(jù)源呢,本文介紹SpringBoot多數(shù)據(jù)源實(shí)現(xiàn)方案,感興趣的朋友跟隨小編一起看看吧2024-02-02
Java流操作之?dāng)?shù)據(jù)流實(shí)例代碼
這篇文章主要介紹了Java流操作之?dāng)?shù)據(jù)流實(shí)例代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01

