1

(一)Response對象的概述

一、什么是Response? 我們開發(fā)的軟件是B/S結(jié)構(gòu)的軟件,是可以通過瀏覽器訪問服務(wù)器的軟件。從瀏覽器輸入一個(gè)地址,訪問服務(wù)器的這個(gè)過程稱為請求。服務(wù)器接收到請求,需要進(jìn)行處理,處理以后,還需要將處理結(jié)果發(fā)回瀏覽器端顯示,這個(gè)過程稱為響應(yīng)

(二)Response對象的API一、Response關(guān)于響應(yīng)行的方法 setStatus(int sc) 設(shè)置響應(yīng)的狀態(tài)碼? 200成功? 302重定向? 304查找本地緩存? 404請求資源不存在? 500服務(wù)器內(nèi)部錯(cuò)誤二、Response關(guān)于響應(yīng)頭的方法 setDateHeader(String name, long date) setHeader(String name, String value) setIntHeader(String name, int value)? set開頭的方法用于設(shè)置:針對一個(gè)key對應(yīng)一個(gè)value的情況? 舉例:原頭信息Content-Type:text/html? 調(diào)用setHeader("Content-Type","text/html");? 最終結(jié)果:Content-Type:text/html addDateHeader(String name, long date) addHeader(String name, String value) addIntHeader(String name, int value)? add開頭的方法用于追加:針對一個(gè)key對應(yīng)多個(gè)value的情況? 舉例:原頭信息Content-Type:text/html調(diào)用addHeader("Content-Type","text/plain");最終結(jié)果:Content-Type:text/html,text/plain三、Response關(guān)于響應(yīng)體的方法 getOutputStream() 將二進(jìn)制字節(jié)發(fā)送到客戶端 getWriter() 將字符文本發(fā)送到客戶端? 用于向?yàn)g覽器端輸出內(nèi)容四、Response其他的API addCookie(Cookie cookie) 服務(wù)器向?yàn)g覽器回寫Cookie的方法 sendRedirect(String location) 重定向的方法 setContentType(String type) 設(shè)置瀏覽器打開頁面時(shí)候采用的字符集 setCharacterEncoding(String charset) 設(shè)置響應(yīng)字符流的緩沖區(qū)的字符集五、Response對象的API的代碼演示 (1)設(shè)置狀態(tài)碼.?????(2)完成重定向 1)重定向:是302狀態(tài)碼和Location響應(yīng)頭結(jié)合使用的效果2)實(shí)際開發(fā)中可以使用response.sendRedirect("/web01/ResponseDemo2");替換重定向那兩句的寫法六、頁面定時(shí)跳轉(zhuǎn)的擴(kuò)展(1)使用JS完成讀秒的效果(2)在HTML中完成頁面跳轉(zhuǎn)使用JS完成讀秒效果(三)Response對象響應(yīng)的中文亂碼處理

一、使用字節(jié)流響應(yīng)中文 1、編寫代碼 2、向頁面輸出中文是否會(huì)有亂碼?不一定! 3、原因:其實(shí)這個(gè)亂碼的產(chǎn)生,與中文轉(zhuǎn)成字節(jié)數(shù)組,以及瀏覽器的打開方式(打開的時(shí)候采用的默認(rèn)字符集)有關(guān) 4、解決:將中文轉(zhuǎn)成字節(jié)數(shù)組的時(shí)候,和瀏覽器默認(rèn)打開的時(shí)候采用的字符集一致即可二、使用字符流響應(yīng)中文 1、編寫代碼 2、向頁面輸出中文是否會(huì)有亂碼?一定亂碼 3、原因:字符流是有緩沖區(qū)的,Response獲得字符流,老外設(shè)計(jì)默認(rèn)的緩沖區(qū)編碼是ISO-8859-1,這個(gè)字符集不支持中文 4、解決:設(shè)置Response獲得字符流緩沖區(qū)的編碼,和設(shè)置瀏覽器默認(rèn)打開時(shí)采用的字符集一致即可(四)Request對象的概述及API的介紹

一、Request對象的概述什么是Request對象我們開發(fā)的軟件都是B/S架構(gòu)的軟件,從瀏覽器向服務(wù)器提交一些數(shù)據(jù)時(shí),將這些數(shù)據(jù)內(nèi)容進(jìn)行封裝,封裝成一個(gè)請求對象,即Request對象二、Request對象的API1、獲得客戶端的信息getMethod()? 獲得請求的方式getQueryString()? 獲得查詢字符串的(即請求路徑后的提交參數(shù)字符串)getRequestURI()? 獲得請求路徑的URIgetRequestURL() 獲得請求路徑的URLgetRemoteAddr()? 獲得客戶端的IP地址2、獲得請求頭的方法getHeader? 獲得一個(gè)Key對應(yīng)一個(gè)Value的請求頭getHeaders? 獲得一個(gè)Key對應(yīng)多個(gè)Value的請求頭3、獲得請求參數(shù)的方法getParameter? 獲得提交的參數(shù)(一個(gè)name對應(yīng)一個(gè)value)getParameterValues? 獲得提交的參數(shù)(一個(gè)name對應(yīng)多個(gè)value)getParameterMap()? 獲得提交的參數(shù),將提交的參數(shù)名稱和對應(yīng)的值存入到一個(gè)Map集合中4、Request作為域?qū)ο蟠嫒?shù)據(jù)的方法setAttribute? 向Request域中存數(shù)據(jù)getAttribute? 從Request域中取數(shù)據(jù)removeAttribute? 從Request域中移除數(shù)據(jù)三、Request對象的API的代碼演示1、Request對象獲取客戶端信息2、Request獲得請求頭的信息四、Request對象接收表單請求參數(shù)1、編寫一個(gè)靜態(tài)頁面2、接收請求參數(shù)3、Request對象接收表單請求參數(shù)的中文亂碼處理? POST方式接收中文? GET方式接收中文

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Tomcat設(shè)置熱配置:修改文件后不用重啟Tomcat服務(wù)器。 Tomcat設(shè)置虛擬路徑 Servlet:Serv...
    RinP閱讀 289評論 0 0
  • ? 深拷貝同淺拷貝的區(qū)別:淺拷貝是指針拷貝,對一個(gè)對象進(jìn)行淺拷貝,相當(dāng)于對指向?qū)ο蟮闹羔樳M(jìn)行復(fù)制,產(chǎn)生一個(gè)新的指向...
    WSGNSLog閱讀 1,392評論 0 1
  • __block和__weak修飾符的區(qū)別其實(shí)是挺明顯的:1.__block不管是ARC還是MRC模式下都可以使用,...
    LZM輪回閱讀 3,594評論 0 6
  • 翻譯約定 primary data: 主數(shù)據(jù)resource identifier object 資源標(biāo)識符對象r...
    sladeliu閱讀 2,575評論 0 2
  • 一、背景 在日常項(xiàng)目中,發(fā)現(xiàn)會(huì)經(jīng)常用到JS基本數(shù)據(jù)類型相關(guān)的一些操作。經(jīng)常是當(dāng)場搜索相關(guān)的用法。還是不利于自己學(xué)習(xí)...
    ikaroskun閱讀 409評論 0 2

友情鏈接更多精彩內(nèi)容