亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

JSP中Request與Response的區別

2024-09-05 00:18:40
字體:
來源:轉載
供稿:網友

Web服務器會針對每次的請求分別創建request對象和response對象,因此有不少朋友們會好奇JSP中Servlet的request和request到底有什么區別呢?下面我們就去看看JSP中Request與Response的區別。

JSP中Servlet的Request與Response的用法與區別

簡介:Web服務器收到客戶端的http請求,會針對每一次請求,分別創建一個用于代表請求的request對象、和代表響應的response對象。request和response對象即然代表請求和響應,那我們要獲取客戶機提交過來的數據,只需要找request對象就行了。要向客戶機輸出數據,只需要找response對象就行了。

一,Request

Request代表請求對象,其中封裝了對請求中具有請求行、請求頭、實體內容的操作的方法,通過這個對象提供的方法,可以獲得客戶端請求的所有信息。

1. 作為容器

setAttribute(String name,Object o)將數據作為request對象的一個屬性存放到request對象中 getAttribute(String name)        獲取request對象的name屬性的屬性值 removeAttribute(String name)     移除request對象的name屬性 getAttributeNames()     獲取request對象的所有屬性名 

2. 獲得客戶端信息????????

 getRequestURL()返回客戶端發出請求時的完整URL。 getRequestURI()返回請求行中的資源名部分。 getRemoteAddr()返回發出請求的客戶機的IP地址。 getRemoteHost()返回發出請求的客戶機的完整主機名。 getRemotePort()返回客戶機所使用的網絡端口號。 getLocalAddr()返回WEB服務器的IP地址。 getLocalName()返回WEB服務器的主機名。   getQueryString()返回請求行中的參數部分。 getPathInfo()返回請求URL中的額外路徑信息。額外路徑信息是請求URL中的位于Servlet的路徑之后和查詢參數之前的內容,它以“/”開頭。 

3. 獲得客戶端請求頭  

getHeader(string name) getHeaders(String name) getHeaderNames() 

4. 獲得客戶端請求參數(客戶端提交的數據)

getParameter(String)方法(常用) getParameterValues(String name)方法(常用) getParameterNames()方法(不常用) getParameterMap()方法(編寫框架時常用) 

5.request接收表單提交中文參數亂碼問題解決

(1)get方式提交表單:

對于以get方式傳輸的數據,request即使設置了以指定的編碼接收數據也是無效的(至于為什么無效我也沒有弄明白),默認的還是使用ISO8859-1這個字符編碼來接收數據,客戶端以UTF-8的編碼傳輸數據到服務器端,而服務器端的request對象使用的是ISO8859-1這個字符編碼來接收數據,服務器和客戶端溝通的編碼不一致因此才會產生中文亂碼的。

解決辦法:

1) 在接收到數據后,先獲取request對象以ISO8859-1字符編碼接收到的原始數據的字節數組,然后通過字節數組以指定的編碼構建字符串,解決亂碼問題。

String name = request.getParameter("name");//接收數據     name =new String(name.getBytes("ISO8859-1"), "UTF-8") ;//獲取request對象以ISO8859-1字符編碼接收到的原始數據的字節數組,然后通過字節數組以指定的編碼構建字符串,解決亂碼問題

???? 2) server.xml中配置

  URIEncoding=utf-8

(2)post方式提交表單:

之所以會產生亂碼,就是因為服務器和客戶端溝通的編碼不一致造成的,因此解決的辦法是:在客戶端和服務器之間設置一個統一的編碼,之后就按照此編碼進行數據的傳輸和接收。

 request.setCharacterEncoding("UTF-8");

6.Request對象實現請求轉發

request.getRequestDispatcher("/test.jsp").forward(request, response); request.getRequestDispatcher("/test.jsp").include(request, response); 調用forward()方法后,原先存放在HttpResponse對象中的內容將會自動被清除 調用include()方法后,原先存放在HttpResponse對象中的內容將不會被清除,內容追加 

二,Response

Response代表響應,于是響應消息中的狀態碼、響應頭、實體內容都可以由它進行操作

1. 向客戶端(瀏覽器)發送數據的相關方法

getOutputStream()getWriter()

2.向客戶端(瀏覽器)發送響應頭的相關方法

addDateHeader() addHeader() addIntHeader() containsHeader()       setDateHeader() setHeader() setIntHeader() 

例如:??

  response.setHeader("content-type", "text/html;charset=UTF-8"); 

3.向客戶端(瀏覽器)發送響應狀態碼的相關方法--setStatus()

實例代碼:

private void downloadFileByOutputStream(HttpServletResponse response)       throws FileNotFoundException, IOException {     //1.獲取要下載的文件的絕對路徑     String realPath = this.getServletContext().getRealPath("/download/1.JPG");     //2.獲取要下載的文件名     String fileName = realPath.substring(realPath.lastIndexOf("http://")+1);     //3.設置content-disposition響應頭控制瀏覽器以下載的形式打開文件     response.setHeader("content-disposition", "attachment;filename="+fileName);     //4.獲取要下載的文件輸入流     InputStream in = new FileInputStream(realPath);     int len = 0;     //5.創建數據緩沖區     byte[] buffer = new byte[1024];     //6.通過response對象獲取OutputStream流     OutputStream out = response.getOutputStream();     //7.將FileInputStream流寫入到buffer緩沖區     while ((len = in.read(buffer)) > 0) {     //8.使用OutputStream將緩沖區的數據輸出到客戶端瀏覽器       out.write(buffer,0,len);     }     in.close();   } 

它們的區別:

其實從字面上我們就可以知道他們倆的區別在于一個是請求(request),而另一個是響應(response),servlet作為服務端,請求便是來自瀏覽器的請求,響應便是服務器對瀏覽器的響應。在你想獲取瀏覽器請求的數據時,我們就要用request,而在我們要向瀏覽器響應數據或頁面時,我們就要用到response。

request 是請求的載體,它附帶著,請求的參數,ip,cookie,表單,字符編碼,或者上傳文件。
你可以通過request去獲得你所需要的信息。

response是響應的載體,你可以設置,表頭,報文,響應文件類型,字符編碼,response,自帶一個輸出流,當你需要將一個頁面或者一個文件傳到客戶端時,你可以通過這個流來進行操作

這篇文章主要介紹了SP中Request與Response的區別的相關資料,希望通過本文能幫助到大家,需要的朋友可以參考下。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中文字幕无线精品亚洲乱码一区| 亚洲欧美一区二区激情| 中文字幕成人在线| 中文字幕一精品亚洲无线一区| 97香蕉超级碰碰久久免费的优势| 精品在线观看国产| 亚洲男人天堂九九视频| 成人av电影天堂| 日韩午夜在线视频| 98午夜经典影视| 成人情趣片在线观看免费| 91精品国产高清自在线看超| 亚洲国产日韩精品在线| 亚洲视频在线免费观看| 欧美日韩中文在线观看| 久久亚洲精品一区二区| 日韩av电影在线网| 爽爽爽爽爽爽爽成人免费观看| 亚洲视频在线观看免费| 国产精品电影久久久久电影网| 国产精品日本精品| 国产欧美va欧美va香蕉在| 亚洲成人av资源网| 日韩电影视频免费| 亚洲高清av在线| 精品国产成人av| 亚洲视频电影图片偷拍一区| 日韩av在线免费观看一区| 亚洲电影免费观看高清完整版在线| 久久久亚洲影院你懂的| 中文字幕久热精品在线视频| 久久99国产综合精品女同| 狠狠躁夜夜躁人人爽天天天天97| 日本精品va在线观看| 性日韩欧美在线视频| 久久免费少妇高潮久久精品99| 精品国模在线视频| 久久人人爽亚洲精品天堂| 欧美老妇交乱视频| 日韩精品高清在线| 热久久免费国产视频| 中文字幕免费精品一区| 欧美激情一区二区久久久| www.亚洲一区| 久久久国产精彩视频美女艺术照福利| 国产精品久久久久久久久影视| 麻豆一区二区在线观看| 精品视频在线播放色网色视频| 久久久国产精品x99av| 亚洲欧洲在线免费| 欧美精品久久久久久久久| 青青久久av北条麻妃海外网| 欧美亚洲在线视频| 国产亚洲精品综合一区91| 亚洲高清久久网| 欧美肥臀大乳一区二区免费视频| 国产精品v片在线观看不卡| 在线a欧美视频| 欧美重口另类videos人妖| 国产婷婷色综合av蜜臀av| 日韩国产一区三区| 91成人在线视频| 久久久国产精品x99av| 欧美www在线| 欧美肥臀大乳一区二区免费视频| 午夜精品久久久久久久99黑人| 亚洲精选一区二区| 最新69国产成人精品视频免费| 亚洲v日韩v综合v精品v| 狠狠躁夜夜躁久久躁别揉| 日韩av在线不卡| 日韩电影中文字幕一区| 91精品久久久久久久久久入口| 浅井舞香一区二区| 久久精品视频中文字幕| 色樱桃影院亚洲精品影院| 亚洲免费视频网站| 亚洲精品在线观看www| 91精品在线播放| 国产精品福利在线观看网址| 欧美亚洲成人xxx| 欧美激情一级欧美精品| 成人天堂噜噜噜| 精品一区二区三区三区| 欧美国产日韩免费| 91中文精品字幕在线视频| 欧美一区二粉嫩精品国产一线天| 国产成人精品一区二区三区| 最近的2019中文字幕免费一页| 久久久午夜视频| 国产精品自产拍在线观看| 亚洲一区第一页| 国产精品一区二区三区免费视频| 45www国产精品网站| 欧美男插女视频| 97人人爽人人喊人人模波多| 中文字幕少妇一区二区三区| 欧美激情视频三区| 亚洲欧美另类自拍| 欧美成人在线免费| 亚洲国产精品一区二区三区| 九九久久精品一区| 日韩av在线网站| 日韩av毛片网| 国产精品嫩草影院一区二区| 久久久亚洲天堂| 中文字幕9999| 国产精品99久久99久久久二8| 在线播放国产一区二区三区| 国产精品你懂得| 亚洲欧美日韩高清| 欧美另类精品xxxx孕妇| 日韩专区在线播放| 日韩www在线| 久久久久久这里只有精品| 亚洲影院在线看| 中文在线不卡视频| 欧美理论电影在线播放| 亚洲在线观看视频| 91在线视频免费| 国产亚洲成av人片在线观看桃| 欧美日韩一区免费| 黄色精品在线看| 成人午夜在线影院| zzjj国产精品一区二区| 国产精品免费视频xxxx| 国产91在线高潮白浆在线观看| 日韩电影大全免费观看2023年上| 色中色综合影院手机版在线观看| 国产亚洲精品美女| 亚洲区在线播放| 亚洲一区免费网站| 成人精品视频99在线观看免费| 久久99青青精品免费观看| 日韩在线免费高清视频| 欧美激情精品久久久| 91亚洲人电影| 成人写真视频福利网| 日韩中文字幕在线| 欧美日韩一二三四五区| 欧美黑人巨大精品一区二区| 18一19gay欧美视频网站| 久久天堂电影网| 有码中文亚洲精品| 色香阁99久久精品久久久| 久久精品国产一区二区三区| 日韩有码在线观看| 亚洲影视中文字幕| 91免费版网站入口| 久久天天躁狠狠躁夜夜躁| 国产精品青草久久久久福利99| 精品国产美女在线| 精品av在线播放| 久久69精品久久久久久久电影好| 91爱视频在线| 国产视频精品自拍| 大桥未久av一区二区三区| 91在线免费看网站| 欧美中文在线免费| 日韩电影中文字幕在线观看| 亚洲天堂2020| 精品亚洲国产成av人片传媒| 国内精品模特av私拍在线观看| 北条麻妃99精品青青久久|