一、基本信息
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>
密 碼: <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對象會自動響應,發送響應的狀態行碼。