日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

HttpServletResponse,HttpServletRequest详解

發(fā)布時(shí)間:2023/11/27 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HttpServletResponse,HttpServletRequest详解 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

HttpServletResponse,HttpServletRequest詳解

1、相關(guān)的接口

HttpServletRequest

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

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

接口HttpServletRequest的常用方法

方????法

說????明

getAttributeNames()

返回當(dāng)前請求的所有屬性的名字集合

getAttribute(String name)

返回name指定的屬性值

getCookies()

返回客戶端發(fā)送的Cookie

getsession()

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

getsession(boolean create)

返回和客戶端相關(guān)的session,如果沒有給客戶端分配session,則創(chuàng)建一個(gè)session并返回

getParameter(String name)

獲取請求中的參數(shù),該參數(shù)是由name指定的

getParameterValues(String name)

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

getCharacterEncoding()

返回請求的字符編碼方式

getContentLength()

返回請求體的有效長度

getInputStream()

獲取請求的輸入流中的數(shù)據(jù)

getMethod()

獲取發(fā)送請求的方式,如get、post

getParameterNames()

獲取請求中所有參數(shù)的名字

getProtocol()

獲取請求所使用的協(xié)議名稱

getReader()

獲取請求體的數(shù)據(jù)流

getRemoteAddr()

獲取客戶端的IP地址

getRemoteHost()

獲取客戶端的名字

getServerName()

返回接受請求的服務(wù)器的名字

getServerPath()

獲取請求的文件的路徑

?

HttpServletResponse

Servlet中,當(dāng)服務(wù)器響應(yīng)客戶端的一個(gè)請求時(shí),就要用到HttpServletResponse接口。設(shè)置響應(yīng)的類型可以使用setContentType()方法。發(fā)送字符數(shù)據(jù),可以使用getWriter()返回一個(gè)對象。下表是接口HttpServletResponse的常用方法。

接口HttpServletResponse的常用方法

???????方????法

說????明

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ò)誤到客戶端

sendRedirect(String location)

發(fā)送一個(gè)臨時(shí)的響應(yīng)到客戶端

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

?

2、一些區(qū)別細(xì)節(jié)

一、ServletRequest

?

代表一個(gè)HTTP請求,請求在內(nèi)存中是一個(gè)對象,這個(gè)對象是一個(gè)容器,可以存放請求參數(shù)和屬性。

?

1、請求對象何時(shí)被創(chuàng)建,當(dāng)通過URL訪問一個(gè)JSP或者Servlet的時(shí)候,也就是當(dāng)調(diào)用Servlet的service()、doPut()、doPost()、doXxx()方法時(shí)候的時(shí)候,執(zhí)行Servlet的web服服務(wù)器就自動(dòng)創(chuàng)建一個(gè)ServletRequest和ServletResponse的對象,傳遞給服務(wù)方法作為參數(shù)。

?

2、請求對象由Servlet容器自動(dòng)產(chǎn)生,這個(gè)對象中自動(dòng)封裝了請求中g(shù)et和post方式提交的參數(shù),以及請求容器中的屬性值,還有http頭等等。當(dāng)Servlet或者JSP得到這個(gè)請求對象的時(shí)候,就知道這個(gè)請求時(shí)從哪里發(fā)出的,請求什么資源,帶什么參數(shù)等等。

?

3、ServletRequest的層次結(jié)構(gòu)

javax.servlet.ServletRequest?
??javax.servlet.http.HttpServletRequest

?

4、通過請求對象,可以獲得Session對象和客戶端的Cookie。

?

5、請求需要指定URL,瀏覽器根據(jù)URL生成HTTP請求并發(fā)送給服務(wù)器,請求的URL有一定的規(guī)范:

?

二、ServletResponse

?

也是由容器自動(dòng)創(chuàng)建的,代表Servlet對客戶端請求的響應(yīng),響應(yīng)的內(nèi)容一般是HTML,而HTML僅僅是響應(yīng)內(nèi)容的一部分。請求中如果還包含其他資源會依次獲取,如頁面中含有圖片,會進(jìn)行第二個(gè)http請求用來獲得圖片內(nèi)容。

相應(yīng)對象有以下功能:

1、向客戶端寫入Cookie

2、重寫URL

3、獲取輸出流對象,向客戶端寫入文本或者二進(jìn)制數(shù)據(jù)

4、設(shè)置響應(yīng)客戶端瀏覽器的字符編碼類型

5、設(shè)置客戶端瀏覽器的MIME類型。

?

轉(zhuǎn)載于:https://www.cnblogs.com/tidhy/p/6664252.html

總結(jié)

以上是生活随笔為你收集整理的HttpServletResponse,HttpServletRequest详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。