Java EE中的response

什麼是response

  1. response對象是由服務器創建的,我們來進行使用.
  2. response對象是用來設置響應消息的

功能: 設置響應消息

	1. 設置響應行
		1. 格式: HTTP/1.1 200	ok
		2. 設置狀態碼: setStatus(int sc);
	
	2. 設置響應頭: setHeader(String name, String value);

	3. 設置響應體:
		* 使用步驟:
			1. 獲取輸出流
				* 字符輸出流: PrintWriter getWriter()

				* 字節輸出流: ServletOutputStream getOutputStream()

			2. 使用輸出流,將數據輸出到客戶端瀏覽器

	4. 重定向
		方法一:
			* 步驟: 
				1. 設置狀態碼爲302
					* response.setStatus(302)
					
				2. 設置響應頭: redirect
					* response.setHeader("域名(ip地址)", "重定向的地址(路徑)");
					* 自己測試的話可以用localhost

		方法二:
			* 這種比較方便
			* response.sendRedirect("重定向的地址(路徑)");


		* 路徑寫法:
			1. 路徑的分類
				1. 相對路徑: 通過相對路徑不可以確定唯一資源
					* 如: ./index.html
						* 不以/開頭, 以.開頭

						* 規則: 找到訪問的當前資源和目標資源之間的相對位置關係
							* ./當前目錄
							* ../後退一級目錄
						
				2. 絕對路徑: 通過絕對路徑可以確定唯一資源
					* 如: http://localhost/text/responseDemo2
					*  以斜槓開頭的路徑
				
					* 規則: 判斷定義的路徑是給誰用的? 判斷請求將來從哪兒發出
						* 給客戶端瀏覽器使用: 需要假虛擬目錄(項目的訪問路徑)
							* 建議虛擬目錄動態獲取: request.getContextPath()
							* <a>, <form>, 重定向....
								
						* 給服務器使用: 不需要加虛擬目錄
							* 轉發路徑

	


		3. 服務器輸出字節數據到瀏覽器
			* 步驟:
				1. 獲取字節輸出流
				2. 輸出數據

服務器輸出字符數據到瀏覽器

	* 步驟:
		1. 獲取字符輸出流
		2. 輸出數據

	* 注意:
		* 亂碼問題:
			1. PrintWriter pw = response.getWriter(); 獲取流的默認編碼是ISO-8859-1
			2. 設置該流的編碼
			3. 告訴瀏覽器響應體使用的編碼
				
			//簡單形式, 設置編碼,是在獲取流之前設置
			response.setContentType("text/html;charser=utf-8");

服務器輸出字節數據到瀏覽器

	* 步驟:
		1. 獲取字節輸出流
		2. 輸出數據
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章