response對象

 

一、基本信息

1、作用:對客戶的請求做出響應,向客戶端發送數據。

(一)重定向

1、響應客戶時,將客戶重定向到另一個頁面。

2、使用response對象sendRedirect(url)方法。

3、特點

  • 重定向支持定向到不同的主機(可以重定向到其他服務器或者其他web應用中的url。轉發不可以,轉發必須是同一個應用中的)
  • 瀏覽器顯示跳轉後的地址(重定向顯示的是重定向之後的頁面,轉發的話是之前的頁面)
  • 重定向後,request中 的屬性全部失效

4、實例

例1:

index.jsp

<%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Ê×Ò³</title>
</head>
<body>
<%//response.sendRedirect("login.jsp"); %>
<%response.sendRedirect("http://www.sina.com.cn"); %>
</body>
</html>

login.jsp

<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>用戶登錄頁面</title>
</head>
<body>
	<form name="form1" method="post" action="">
		用戶名: <input name="name" type="text" id="name" style="width: 120px"><br><br>
		密&nbsp;&nbsp;碼: <input name="pwd" type="password" id="pwd"
			style="width: 120px"> <br> <br> 
			<input type="submit" name="Submit" value="提交">
	</form>
</body>
</html>

login.jsp沒有被註釋的時候,顯示的是後面的界面

login.jsp被註釋的時候,顯示的是新浪主頁


(二)設置響應的HTTP頭

1、服務器響應客戶端的信息包含的頭部信息。

2、response對象可以動態添加新的響應頭和頭的值。//設置頭部信心

  • addHeader(String head,String value);
  • setHeader(String head,String value);

3、實例

例1:

setHead.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<HTML>
<BODY>
	<Font size=1>
		<P>
			現在的時間是:<BR>
			<%
				out.println("" + new Date());//調用的是new Date().toString()方法,作用是返回當前的時間
				response.setHeader("Refresh", "5");//每隔5秒鐘,刷新一次
			%>
		
	</FONT>
</BODY>
</HTML>

 


(三)動態響應contentType屬性

1、response對象調用setContentType(String s)方法動態改變contentType的屬性值。

2、實例

例1:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<HTML>
<BODY bgcolor=cyan>
	<Font size=1>
		<P>
			我正在學習response對象的 <BR>setContentType方法
		<P>將當前頁面保存爲word文檔嗎?
		<FORM action="" method="get" name=form>
			<INPUT TYPE="submit" value="yes" name="submit">
		</FORM> 
<%
 	String str = request.getParameter("submit");
 	if (str == null) {//第一次的時候,肯定什麼也沒點,所以一定是null,什麼也不執行
 		str = "";
 	}else if (str.equals("yes")) {//點擊之後,返回的value是yes,所以執行下面的語句
 		response.setContentType("application/msword;charset=utf-8");
 	}
 %> </FONT>
</BODY>
</HTML>

 剛開始的頁面是

點擊yes之後,是讓下載東西

下載的內容是

因此,對於微軟的應用型/msword就是下載的意思


(四)response的狀態行

1、服務器對客戶端請求響應時,首先發送的是狀態行。

2、狀態行:包含3位數字的狀態碼和對狀態碼的描述。

3、說明:一般不需要修改狀態行,出現問題時,response對象會自動響應,發送響應的狀態行碼。


 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章