大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

JSP教程
JSP高級(jí)教程

JSP response對(duì)象

response 對(duì)象和 request 對(duì)象相對(duì)應(yīng),用于響應(yīng)客戶請(qǐng)求,向客戶端輸出信息。response 是 HttpServletResponse 的實(shí)例,封裝了 JSP 產(chǎn)生的響應(yīng)客戶端請(qǐng)求的有關(guān)信息,如回應(yīng)的 Header,回應(yīng)本體(HTML 的內(nèi)容)以及服務(wù)器端的狀態(tài)碼等信息,提供給客戶端。請(qǐng)求的信 息可以是各種數(shù)據(jù)類型的,甚至是文件。

response 對(duì)象的常用方法如表 1 所示。下面介紹 response 對(duì)象的應(yīng)用。

表1 response對(duì)象的常用方法

方法

說(shuō)明

void addCookie(Cookie cookie)

添加 Cookie 的方法

void addHeader(String name,String value)

添加 HTTP 文件指定的頭信息

String encodeURL(String url)

將 URL 予以編碼,回傳包含 Session ID 的 URL

void flushBuffer()

強(qiáng)制把當(dāng)前緩沖區(qū)內(nèi)容發(fā)送到客戶端

int getBufferSize()

返回響應(yīng)所使用的實(shí)際緩沖區(qū)大小,如果沒(méi)使用緩沖區(qū),則該方法返回 0

void set BufferSize(int size)

為響應(yīng)的主體設(shè)置首選的緩沖區(qū)大小

boolean isCommitted()

一個(gè) boolean,表示響應(yīng)是否已經(jīng)提交;提交的響應(yīng)已經(jīng)寫(xiě)入狀態(tài)碼和報(bào)頭

void reset()

清除緩沖區(qū)存在的任何數(shù)據(jù),并清除狀態(tài)碼和報(bào)頭

ServletOutputStream getOutputStream()

返回到客戶端的輸出流對(duì)象

void sendError(int xc[,String msg])

向客戶端發(fā)送錯(cuò)誤信息

void sengRedirect(java.lang.String location)

把響應(yīng)發(fā)送到另一個(gè)位置進(jìn)行處理

void setCotentType(String type)

設(shè)置響應(yīng)的 MIME 類型

void setHeader(String name,String value)

設(shè)置指定名字的 HTTP 文件頭信息

void setCotentLength(int len)

設(shè)置響應(yīng)頭的長(zhǎng)度

動(dòng)態(tài)設(shè)置響應(yīng)的類型

利用 page 指令設(shè)置發(fā)送到客戶端文檔響應(yīng)報(bào)頭的 MIME 類型和字符編碼,如<%@ page contentType="text/html;charset=utf-8"%>,它表示當(dāng)用戶訪問(wèn)該頁(yè)面時(shí),JSP 引擎將按照 contentType 的屬性值即 text/html(網(wǎng)頁(yè))做出反應(yīng)。

如果要?jiǎng)討B(tài)改變這個(gè)屬性值來(lái)響應(yīng)客戶,就需要使用 response 對(duì)象的 setContentType(String s) 方法。語(yǔ)法格式如下:

response.setContentType("MIME");

MIME 可以為 text/html(網(wǎng)頁(yè))、text/plain(文本)、application/x-msexcel(Excel 文件)、application/msword(Word 文件)。

例1:通過(guò) response 對(duì)象動(dòng)態(tài)設(shè)置響應(yīng)類型。

使用 response 對(duì)象的 setContentType(String s) 方法動(dòng)態(tài)設(shè)置響應(yīng)的類型,代碼如下:

<%@ page contentType="text/html;charset=utf-8" %>
<html>
<head>
<title>
    response 對(duì)象動(dòng)態(tài)設(shè)置響應(yīng)類型
</title>
</head>
<body>
<h2> response 對(duì)象動(dòng)態(tài)設(shè)置響應(yīng)類型 </h2>
<p>請(qǐng)選擇將當(dāng)前頁(yè)面保存的類型
<form action=" " method="post" name=frm>
   <input type="submit" value="保存為word" name="submit1">
   <input type="submit" value="保存為Excel" name="submit2">
</form>
<%
if(request.getParameter("submit1")!=null)
  response.setContentType("application/msword;charset=GB2312");
if(request.getParameter("submit2")!=null)
  response.setContentType("application/x-msexcel;charset=GB2312");
%>
</body>
</html>

運(yùn)行結(jié)果如圖 1 所示。

圖1 response對(duì)象動(dòng)態(tài)設(shè)置響應(yīng)類型

重定向網(wǎng)頁(yè)

在某些情況下,當(dāng)響應(yīng)客戶時(shí),需要將客戶引導(dǎo)至另一個(gè)頁(yè)面,例如,當(dāng)客戶輸入正確的登錄信息時(shí),就需要被引導(dǎo)到登錄成功頁(yè)面,否則被引導(dǎo)到錯(cuò)誤顯示頁(yè)面。此時(shí),可以使用 response 的 sendRedirect(URL) 方法將客戶請(qǐng)求重定向到一個(gè)不同的頁(yè)面。例如,將客戶請(qǐng)求重定向到 login_ok.jsp 頁(yè)面的代碼如下:

Response.sendRedirect("login_ok.jsp");

在 JSP 頁(yè)面中,使用 response 對(duì)象中的 sendError() 方法指明一個(gè)錯(cuò)誤狀態(tài)。該方法接收一個(gè)錯(cuò)誤以及一條可選的錯(cuò)誤消息,該消息將內(nèi)容主體返回給客戶。

例如,代碼 response.sendError(500"請(qǐng)求頁(yè)面存在錯(cuò)誤") 將客戶請(qǐng)求重定向到一個(gè)在內(nèi)容主體上包含出錯(cuò)消息的出錯(cuò)頁(yè)面。

例2:通過(guò) response 對(duì)象重定向網(wǎng)頁(yè)。使用 response 對(duì)象的相關(guān)方法重定向網(wǎng)頁(yè),完成一個(gè)用戶登錄。

在頁(yè)面 3-10.jsp 中輸入用戶名和密碼,如圖 2(a) 所示,提交給頁(yè)面 3-10-deal.jsp 進(jìn)行處理,如果檢測(cè)到用戶名是 Admin,密碼是 123,則重定同到成功登錄頁(yè)面 3-10-ok.jsp,如圖 2(b) 所示;否則向客戶端發(fā)送錯(cuò)誤信息。

a)

b)

圖2 通過(guò)response對(duì)象重定向網(wǎng)頁(yè)

3-10.jsp 代碼如下:

<%@ page contentType="text/html;charset=utf-8" %>
<html>
<head>
<title>
    用戶登錄
</title>
</head>
<body>
<form name="forml" method="post" action="3-10-deal.jsp">
用戶名:<input name="user" type="text" /> <br>
密&nbsp;&nbsp;&nbsp;碼:<input name="pwd" type="text" /> <br>
<input type="submit" value="提交" />
<input type="reset" value="重置" />
</form>
</body>
</html>

3-10-deal.jsp 代碼如下:

<%@ page contentType="text/html;charset=utf-8" %>
<html>
<head>
<title>
    處理結(jié)果
</title>
</head>
<body>
<%
request.setCharacterEncoding("utf-8");
String user=request.getParameter("user");
String pwd=request.getParameter("pwd");
if(user.equals("Admin")&&pwd.equals("123"))
{
    response.sendRedirect("3-10-ok.jsp");
}
else
{
    response.sendError(500,"請(qǐng)輸入正確的用戶和密碼!");
}
%>
</body>
</html>

3-10-ok.jsp 代碼如下:

<%@ page contentType="text/html;charset=utf-8" %>
<html>
<head>
<title>
    處理結(jié)果
</title>
</head>
<body>
成功登錄!
</body>
</html>

設(shè)置頁(yè)面自動(dòng)刷新以及定時(shí)跳轉(zhuǎn)

response 對(duì)象的 setHeader() 方法用于設(shè)置指定名字的 HTTP 文件頭的值,如果該值已經(jīng)存在,則新值會(huì)覆蓋舊值。最常用的一個(gè)頭信息是 refresh,用于設(shè)置刷新或者跳轉(zhuǎn)。

1. 實(shí)現(xiàn)頁(yè)面一秒鐘刷新一次,設(shè)置語(yǔ)句如下:

response.setHeader("refresh","1");

2. 實(shí)現(xiàn)頁(yè)面定時(shí)跳轉(zhuǎn),如 2 秒鐘后自動(dòng)跳轉(zhuǎn)到URL所指的頁(yè)面,設(shè)置語(yǔ)句如下:

response.setHeader("refresh","2:URL=頁(yè)面名稱");

例3:用 response 對(duì)象自動(dòng)刷新客戶頁(yè)面,實(shí)現(xiàn)秒表的功能,代碼如下:

<%@ page contentType="text/html;charset=utf-8" %>
<%@ page import="java.util.*" %>
<html>
<head>
<title>
    response 對(duì)象設(shè)置頁(yè)面自動(dòng)刷新
</title>
</head>
<body>
<h2> response 對(duì)象設(shè)置頁(yè)面自動(dòng)刷新</h2>
<font size="5" color=blue> 數(shù)字時(shí)鐘> </font> <br> <br>
<font size="3" color=blue> 現(xiàn)在時(shí)刻:<br>
<%
response.setHeader("refresh","1");
int y,m,d,h,mm,s;
Calendar c=Calendar.getInstance();
y=c.get(Calendar.YEAR);    //年
m=c.get(Calendar.MONTH)+1;    //月
d=c.get(Calendar.DAY_OF_MONTH);    //日
h=c.get(Calendar.HOUR);    //時(shí)(HOUR:十二小時(shí)制:HOUR_OF_DAY:十二四小時(shí)制)
mm=c.get(Calendar.MINUTE);    //分
s=c.get(Calendar.SECOND);    //分
out.println(y+"年"+m+"月"+d+"日"+h+"時(shí)"+mm+"分"+s+"秒");
%>
</font>
</body>
</html>

運(yùn)行結(jié)果如圖 3 所示。

圖3 response對(duì)象自動(dòng)刷新客戶頁(yè)面

配置緩沖區(qū)

緩沖可以更加有效地在服務(wù)器與客戶之間傳輸內(nèi)容。HttpServletResponse 對(duì)象為支持 jspWriter 對(duì)象而啟用了緩沖區(qū)配置。

例4:用 response 對(duì)象配置緩沖區(qū)。使用 response 對(duì)象的相關(guān)方法輸出緩沖區(qū)的大小,并測(cè)試強(qiáng)制將緩沖區(qū)的內(nèi)容發(fā)送給客戶,代碼如下:

<%@ page contentType="text/html; charset=utf-8" %>
<html>
<head>
<title>
    response 對(duì)象配置緩沖區(qū)
</title>
</head>
<body>
<h2>response對(duì)象配置緩沖區(qū)</h2>
<%
out.print("緩沖區(qū)大小:"+response.getBufferSize()+"<br>");
out.print("緩沖區(qū)內(nèi)容強(qiáng)制提交前"+"<br>");
out.print("輸出內(nèi)容是否提交:"+response.isCommitted()+"<br>");
response.flushBuffer();
out.print("緩沖區(qū)內(nèi)容強(qiáng)制提交后<br>");
out.print("輸出內(nèi)容是否提交:"+response.isCommitted()+"<br>");
%>
</body>
</html>

運(yùn)行結(jié)果如圖 4 所示。

圖4 response對(duì)象配置緩沖區(qū)

全部教程
主站蜘蛛池模板: 99久久精品自在自看国产 | 正在播放亚洲一区 | 8090色| 日韩成人午夜 | 51国产福利视频在线观看 | 久久99国产亚洲精品 | 色综合天天综合网亚洲 | 成人9久久国产精品品 | 日本精品在线观看视频 | 亚洲国产一区二区三区四区五区 | 欧美国产伦久久久久 | 国产午夜成人无码免费看 | 久久久久综合精品福利啪啪 | 久久91亚洲精品中文字幕 | 久久精品国产一区二区三区不卡 | 亚洲精品乱码中文字幕无线 | 男人资源在线观看 | 国产网红自拍 | 国产ar高清视频+视频 | 99久久精品免费看国产免费 | 亚洲成人小视频 | se94se在线看片secom | 欧美成人丝袜视频在线观看 | 一二三区无线码2021 | 亚洲欧美日韩国产精品网 | xxxx日本在线播放免费不卡 | 99热这就是里面只有精品 | 成人国产亚洲 | 岛国大片在线观看 | 国产a久久精品一区二区三区 | 欧美视频第一区 | 免费播放欧美毛片欧美aaaaa | 在线视频中文 | www.性视频| 欧美亚洲网站 | 亚洲高清视频网站 | 久久久精品麻豆 | 青青青青手机在线视频观看国产 | 精品香蕉99久久久久网站 | 日韩成人午夜 | 五月婷婷开心综合 |