『壹』 Response對象和request對象的作用分別是什麼
JSP的response隱藏對象在轉換為Servlet之後,對應於HttpServletResponse型態對象,HttpServletResponse對象是有關於對客戶端請求之響應,您可以利用它來設定一些要響應的訊息,例如標題信息、響應狀態碼等. response的常用方法: setHeader():是一個通用的標頭設定方法,您可以用它來設定任何「名稱/值」的標頭. setIntHeader():是專門用來設定整數值標頭的版本. setDateHeader():是setHeader()的Date設定版本,第二個參數是設定Date的Long數值,0表示GMT 1970/1/1 00:00。 (Note:以上3個函數用來設置HTTP協議的表頭,必須對HTTP協議有些了解才能正確使用,我現在也不清楚). setStatus():是用來設定回應的狀態碼,例如404 Not Found,HttpServletResponse類中提供了一些助憶常數設定,例如SC_NOT_FOUND就是表示404狀態碼(可以在Servlet API文件中查詢相關的助憶常數). sendError():會根據伺服器的預設錯誤網頁回報方式顯示錯誤訊息. sendRedirect():設置重定向頁面. getWriter():取得PrintWriter對象,由它來寫出響應至伺服器的本體信息. response 對象主要將JSP 處理數據後的結果傳回到客戶端。 response 對象是實現javax.servlet.http.HttpServletResponse 介面。 response對象所提供的方法。 1.設定表頭的方法 void addCookie(Cookie cookie) 新增cookie void addDateHeader(String name, long date) 新增long類型的值到name標頭 void addHeader(String name, String value) 新增String類型的值到name標頭 void addIntHeader(String name, int value) 新增int類型的值到name標頭 void setDateHeader(String name, long date) 指定long類型的值到name標頭 void setHeader(String name, String value) 指定String類型的值到name標頭 void setIntHeader(String name, int value) 指定int類型的值到name標頭 2.設定響應狀態碼的方法 void sendError(int sc) 傳送狀態碼(status code) void sendError(int sc, String msg) 傳送狀態碼和錯誤信息 void setStatus(int sc) 設定狀態碼 3.用來URL 重寫(rewriting)的方法 String encodeRedirectURL(String url) 對使用sendRedirect( )方法的URL予以編碼
『貳』 使用網頁重定向的Response方法是什麼
response.sendRedirect(String url);
記憶中是這個方法,你可以試試,如果是請求分發,則用forward().......
『叄』 可以通過response對象的 ( ) 方法設置頁面重定向,實現頁面跳轉。
法設置頁面重定向,實現頁面跳轉。3. ( ) 對象是javax.jsp.JspWriter的一個
『肆』 response對象中有哪些屬性
Response對象用於動態響應客戶端請示,控制發送給用戶的信息,並將動態生成響應。Response對象只提供了一個數據集合cookie,它用於在客戶端寫入cookie值。若指定的cookie不存在,則創建它。若存在,則將自動進行更新。結果返回給客戶端瀏覽器。
語法格式:Response.Cookies(CookieName)[(key)|.attribute]=value。這里的CookiesName是指定的Cookie的名稱,如果指定了Key,則該Cookie就是一個字典,Attribute屬性包括Domain,Expires,HasKeys,Path,Secure。
response 對象在ASP中負責將信息傳遞給用戶.Response對象用於動態響應客戶端請求,並將動態生成的響應結果返回到客戶端瀏覽器中,使用Response對象可以直接發送信息給瀏覽器,重定向瀏覽器到另一個URL或設置cookie的值等.Response對象在asp編程中非常廣泛,也是一種非常好用的工具.
基本格式:response.集合|屬性|方法
response 的write方法:
response.write **
功能:向客戶端發送瀏覽器能夠處理的各種數據,包括:html代碼,腳本程序等.
實例:
response.write "I LOVE YOU !!"
response的redirect方法:
response.redirect("url")的作用是在伺服器端重定向於另一個網頁。
實例:
response.redirect(http://www.tiaotiaocn.com)
●JSP 中的response
在Java Servlet中同樣用到response對象,是J2EE中java.servlet.http包中的類
HttpServletResponse response實例化後將用此對象響應客戶端的請求
使用HttpServletResponse response的示例代碼:
------------------
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ServletTest extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=gbk");
PrintWriter out = response.getWriter();
out.println("HttpServletResponse response");
....
//方法示例..詳細方法可以繼續補充
response.addCookie(arg0);
response.addDateHeader(arg0, arg1);
response.addHeader(arg0, arg1);
....
out.flush();
out.close();
}
}
response的End方法:
用來終止腳本程序。在ASP程序中碰到Response.End語句後,立即終止。不過它會將之前的頁面內容發送到客戶端,只是不再執行後面的語句了。
response的Clear方法:
要說到Clear方法,就必須提到response的Buffer屬性,Buffer屬性用來設置伺服器端是否將頁面先輸出到緩沖區。語法為:Response.Buffer=True/False
當Buffer的值為True時,Clear方法用於將緩沖區中的當前頁面內容全部清除。
語法為:Response.Clear
response的Flush方法:
當Buffer的值為True時,Flush方法用於將緩沖區中的當前頁面內容立刻輸出到客戶端。
語法為:Response.Flush
下面為Clear方法和Flush方法舉例:
<%
Response.Write "第一句"
Response.Flush 『立刻輸出緩沖區中的內容
Response.Write "第二句"
Response.Clear 『清除緩沖區中的內容
Response.Write "第三句"
%>
---------------------
語法:
Response.collection|property|method
一、集合
Response對象只有一個集合--Cookies,Cookies數據集合允許將數據設置在客戶端的瀏覽器中。若指定的cookie不存在,則創建它。若存在,則自動更新數據。
語法:Response.Cookies(Cookie)[Key.Attribute]
這里的cookie是指定cookie的名稱。而如果指定了key,則該cookie就是一個字典。attribute指定cookie自身的有關信息。attribute參數可以是下列之一:
Domain只寫。若被指定,則cookie將被發送到對該域的請求中去。
Expires只寫。指定cookie的過期日期。為了在會話結束後將cookie存儲在客戶端磁碟上,必須設置該日期。若此項屬性的設置未超過當前日期,則在任務結束後cookie將到期。
HasKeys只讀。指定cookie是否包含關鍵字。
Path只寫。若被指定,則cookie將只發送到對該路徑的請求中。如果未設置該屬性,則使用應用程序的路徑。
Secure只寫。指定Cookie是否安全。
二、方法
Response.AddHeaderName,Value
向應答中添加一個新的HTML標題。Name為新HTML標題的名稱。Value為該頭變數的值。你可以添加任何名稱和任何值的HTML標題。它並不替代現有的同名標題。一旦標題被添加,將不能刪除。
Response.AppendToLogString
向Web伺服器的日誌條目的末尾添加一字元串。String為要添加到日誌文件中的字元串。
Response.BinaryWriteData
該方法可以不經任何字元轉換就將制定的信息寫到HTTP輸出,主要用於寫非字元串信息(如客戶端應用程序所需的二進制數據等)。Data是要發送的數據。
Response.Clear
刪除緩沖區的所有HTML輸出,但只刪除響應正文而不刪除響應標題。可以用該方法處理錯誤情況。需要注意的是,如果Response.Buffer設置為True,則該方法將導致運行是錯誤。
Response.End
強迫Web伺服器停止執行更多的腳本,並發送當前結果,文件中剩餘的內容將不被處理。如果Response.Buffer設置為True,則調用Response.end將緩沖輸出。
Response.Flush
對於一個緩沖的回應,發送所有的緩沖信息。如果Response.Buffer設置為True,則該方法將導致運行是錯誤。
Response.RedirectURL
將客戶端的瀏覽器重定向到一個新的Internet地址。Url為新網頁的Internet地址。
Response.WriteVariant
Response.Write是Response對象最常用的方法,該方法可以向瀏覽器發送字元串。Variant是一字元串或一個具有字元串值的變數。
三、屬性
Response.Buffer
緩沖一ActiveServerPage。回應只到某一頁結束或Response.Flush或Response.End方法調用時才發送出去。伺服器將輸出送給客戶端後就不能再設置Buffer屬性。
Response.CacheControl
指明是否Proxy伺服器能緩存ActiveServerPage。預設時,其值為FALSE。當設置其屬性為Public時,Proxy伺服器可以緩沖由Asp產生的輸出。
Response.CharSet(Charsetname)
將字元集名稱(如GB)附加到Response對象中content-type標題的後面,用來設置web伺服器響應給客戶端的文件字元編碼。一個可能的值為「ISO_LATIN_1」。
Response.ContentType
指明回應內容的類型。可能的值為text/plain和image/GIF,默認值text/HTML。
Response.Expires
瀏覽器可以緩存當前頁的時間長度,以分鍾為單位。
Response.ExpiresAbsolute
瀏覽器不能再緩存當前頁的日期和時間。在未到期之前,可以返回。如果未指定時間,該主頁在當天午夜到期;如果未指定日期,則到當天指定時間到期。
True/False=Response.IsClientConnected
屬性為只讀,指明自上次調用Response.Write之後,客戶端是否仍然和伺服器連接。該屬性允許用戶在客戶端和伺服器沒有聯接的情況下有更多的控制。例如,在從客戶端提出請求起到伺服器做出相應,其間要用去很長一段時間的情況下,這就可能有助於確保在繼續處理腳本之前客戶端仍是連通的。具有值TRUE或FALSE。
Response.PICS(PICS字元串)
用於添加網頁的PICS等級。PICS級別指明某一網頁的內容級別,比如暴力或色情的程度等。
Response.Status="狀態描述字元串"
用來設置Web伺服器要響應的狀態行的值。
『伍』 Response對象的語法
Response對象只有一個集合--Cookies,Cookies數據集合允許將數據設置在客戶端的瀏覽器中。若指定的cookie不存在,則創建它。若存在,則自動更新數據。
語法:Response.Cookies(Cookie)[Key.Attribute]
這里的cookie是指定cookie的名稱。而如果指定了key,則該cookie就是一個字典。attribute指定cookie自身的有關信息。attribute參數可以是下列之一:
Domain只寫。若被指定,則cookie將被發送到對該域的請求中去。
Expires只寫。指定cookie的過期日期。為了在會話結束後將cookie存儲在客戶端磁碟上,必須設置該日期。若此項屬性的設置未超過當前日期,則在任務結束後cookie將到期。
HasKeys只讀。指定cookie是否包含關鍵字。
Path只寫。若被指定,則cookie將只發送到對該路徑的請求中。如果未設置該屬性,則使用應用程序的路徑。
Secure只寫。指定Cookie是否安全。 Response.AddHeaderName,Value
向應答中添加一個新的HTML標題。Name為新HTML標題的名稱。Value為該頭變數的值。你可以添加任何名稱和任何值的HTML標題。它並不替代現有的同名標題。一旦標題被添加,將不能刪除。
Response.AppendToLogString
向Web伺服器的日誌條目的末尾添加一字元串。String為要添加到日誌文件中的字元串。
Response.BinaryWriteData
該方法可以不經任何字元轉換就將制定的信息寫到HTTP輸出,主要用於寫非字元串信息(如客戶端應用程序所需的二進制數據等)。Data是要發送的數據。
Response.Clear
刪除緩沖區的所有HTML輸出,但只刪除響應正文而不刪除響應標題。可以用該方法處理錯誤情況。需要注意的是,如果Response.Buffer設置為True,則該方法將導致運行是錯誤。
Response.End
強迫Web伺服器停止執行更多的腳本,並發送當前結果,文件中剩餘的內容將不被處理。如果Response.Buffer設置為True,則調用Response.end將緩沖輸出。
Response.Flush
對於一個緩沖的回應,發送所有的緩沖信息。如果Response.Buffer設置為True,則該方法將導致運行是錯誤。
Response.RedirectURL
將客戶端的瀏覽器重定向到一個新的Internet地址。Url為新網頁的Internet地址。
Response.WriteVariant
Response.Write是Response對象最常用的方法,該方法可以向瀏覽器發送字元串。Variant是一字元串或一個具有字元串值的變數。 Response.Buffer
緩沖一ActiveServerPage。回應只到某一頁結束或Response.Flush或Response.End方法調用時才發送出去。伺服器將輸出送給客戶端後就不能再設置Buffer屬性。
Response.CacheControl
指明是否Proxy伺服器能緩存ActiveServerPage。預設時,其值為FALSE。當設置其屬性為Public時,Proxy伺服器可以緩沖由Asp產生的輸出。
Response.CharSet(Charsetname)
將字元集名稱(如GB)附加到Response對象中content-type標題的後面,用來設置web伺服器響應給客戶端的文件字元編碼。一個可能的值為「ISO_LATIN_1」。
Response.ContentType
指明回應內容的類型。可能的值為text/plain和image/GIF,默認值text/HTML。
Response.Expires
瀏覽器可以緩存當前頁的時間長度,以分鍾為單位。
Response.ExpiresAbsolute
瀏覽器不能再緩存當前頁的日期和時間。在未到期之前,可以返回。如果未指定時間,該主頁在當天午夜到期;如果未指定日期,則到當天指定時間到期。
True/False=Response.IsClientConnected
屬性為只讀,指明自上次調用Response.Write之後,客戶端是否仍然和伺服器連接。該屬性允許用戶在客戶端和伺服器沒有聯接的情況下有更多的控制。例如,在從客戶端提出請求起到伺服器做出相應,其間要用去很長一段時間的情況下,這就可能有助於確保在繼續處理腳本之前客戶端仍是連通的。具有值TRUE或FALSE。
Response.PICS(PICS字元串)
用於添加網頁的PICS等級。PICS級別指明某一網頁的內容級別,比如暴力或色情的程度等。
Response.Status=狀態描述字元串
用來設置Web伺服器要響應的狀態行的值。
『陸』 輸出程序結果時常用response對象的 什麼方法
首先你要理解網頁的運行原理,首先是用戶發出訪問請求,然後伺服器接受請求,對請求的合法性進行驗證,合法之後將應答頁面(response對象)以html的方式發送的客戶端瀏覽器,瀏覽器再將html文件解釋執行,所以response對象是在伺服器應答階段
『柒』 請說出HttpServletResponse的3個方法的用法,並說出每種方法的作用是什麼
HttpServletResponse繼承了ServletResponse介面,並提供了與Http協議有關的方法,這些方法的主要功能是設置HTTP狀態碼和管理Cookie。
(1)setStatus方法用來設置Servlet向客戶端返回的狀態碼,它用來設置沒有出錯的狀態。如果Servlet運行出錯,Servlet可以使用sendError方法設置狀態碼,如sendError(int sc)方法設置錯誤狀態代碼。sendError(int sc,String msg)方法除了設置狀態碼,還向客戶發出一條錯誤信息。
(2)setHeader可以指定特定名稱的頭信息的值,addDateheader,addIntHeader,setDateHeader,setIntHeader可以加入或理性特定時間或整數型頭信息。
(3)addCookie方法可以在Web伺服器響應中加入Cookie對象,這個對象將被瀏覽器所保存。Cookie機制也被用來維護會話狀態。
(4)sendRedirect方法向客戶發出臨時重新導向的響應。它生成的響應狀態碼為302。該響應給了客戶一個新的URL風趣。如果緩沖器已經被清空,這個方法會彈出一個IllegalStateException例外。
『捌』 在ASP程序中,Response對象的方法有哪些,各代表什麼功能
Response方法負責將信息傳遞給用戶的對象是Response,它可動態地響應客戶端的請求,並將動態生成的響應結果返回給客戶端瀏覽器。
一,Response.write
在Response中write方法是使用最頻繁的一個了,write就是寫:將指定的字元串寫到當前的
HTTP
輸出。
1,write.asp
<%
response.write("hello,world"&"<br>")
Randomize
response.write
"任意數是"&rnd()&"<br>"
%>
response.write後面為所顯示的信息,可以用括弧包含,也可以直接書寫(注意和response.write之間有空格)。
書寫的字元串信息或者HTML代碼相關,用引號包含;而ASP本身的函數或變數則不需要,直接用即可。
並且無論字元串信息、HTML代碼、函數還是變數之間進行連接都是採用&號(針對vbscript)
以上遇到一個隨機函數rnd(),該函數返回一個小於
1
但大於或等於
0
的值。
需要注意的是在調用
Rnd
之前,先使用無參數的
Randomize
語句初始化隨機數生成器,該生成器具有基於系統計時器的種子。
若缺少Randomize,則無法繼續生成隨機種子。
下面一個利用隨機函數的例子,產生隨機背景顏色效果:
運行代碼框
<script
language=vbs>
Randomize
'首先Randomize產生隨機種子
suij=rnd()
'接著將函數值賦變數suij
suij=replace(suij,".","9")
'然後對變數suij中小數點符號轉換為數字9
suij=left(suij,6)
'再取變數中的左6位
document.write
"<body
bgcolor=#"&suij&">"
'最後應用到背景顏色中去
</script>
[Ctrl+A
全部選擇
提示:你可先修改部分代碼,再按運行]
當然要產生指定范圍的隨機整數,請使用以下公式:
Int((upperbound
-
lowerbound
+
1)
*
Rnd
+
lowerbound)
這里,
upperbound
是此范圍的上界,而
lowerbound
是此范圍內的下界。
運行代碼框
<script
language=vbs>
Do
Until
choose
=
vbNo
value
=
Int((41
*
Rnd)
+
60)
'產生
60
到
100
之間的隨機數。
msgbox
value
choose
=
MsgBox
("Roll
again?
",
vbYesNo)
Loop
</script>
[Ctrl+A
全部選擇
提示:你可先修改部分代碼,再按運行]
隨機函數在做考試系統的時候非常有用,當然你也可以用來自己搖獎,拿個頭彩也分點我就行了:)
二,Response.end
這是Response常用的一種方法,使
Web
伺服器停止處理腳本並返回當前結果,文件中剩餘的內容將不被處理。
主要放在一頁多功能的ASP頁中,為讓程序運行到此,抑或往下的程序沒必要再執行顯示……
2,end.asp
<%response.write
now()
response.end
'程序執行顯示到此結束
response.write
rnd()%>
三,Response.clear
該方法主要作用是清除緩沖區中的所有
HTML
輸出,但該方法只清除響應正文而不清除響應標題。
該方法和end方法似相反,end是到此結束返回上面的結果,而clear卻是清除上面的執行,然後只返回下面的結果。
3,clear.asp
<%response.write
now()
response.clear
'以上程序到此全被清除
response.write
rnd()%>
下面通過一個例子來仔細看看end
and
clear
4,end2clear.asp
<%
filepath=request.servervariables("script_name")
user=Request.Form("username")
pwd=Request.Form("password")
%>
<form
method="POST"
action="<%=filepath%>">
name:<input
type="text"
name="username"><br>
pwd:<input
type="password"
name="password"><br>
<input
type="submit"
value="submit">
</form>
<%
If
user="cnbruce"
and
pwd="cnbruce"
Then
response.write
"採用clear方法,上面的程序結果將清除。"
response.clear
'
清空存儲在緩存中的頁面
Else
response.write
"採用end方法,下面的程序將停運。"
Response.End
'
立即停止腳本處理,並將緩存中的頁面輸出
End
If
%>
如果你只看到「刷新」鏈接就表明clear方法已經生效<br>
<a
href="<%=filepath%>">刷新</a>
以上程序中,當輸入用戶名和密碼同為cnbruce的時候會發現clear方法的處理結果,反之是另外一個效果。
四,Response.redirect
Redirect
方法是讓瀏覽器立即重定向到程序指定的URL地址。這在根據客戶的不同響應,為不同的客戶指定不同的頁面,或根據不同的情況指定不同的頁面時,顯得非常重要。
該方法是立即生效的,在其後的腳本都不執行。
5,redirect.asp
<%response.redirect("http://www.cnbruce.com/")%>
以上四則運用屬於Response對象的幾個比較重要的方法:write、end、clear、redirect等當然方法還有:AddHeader、AppendToLog、BinaryWrite、Flush……
早說過,一個ASP對象除了對象方法外,還有對象屬性
那response對象的屬性有哪些呢?
五,Response.ContentType
ContentType
屬性指定伺服器響應的
HTTP
內容類型。如果未指定
ContentType,默認為
text/html。
6,contenttype.asp(非text/html的)
<%
Response.ContentType
=
"text/HTML"
%>
<%
Response.ContentType
=
"image/GIF"
%>
<%
Response.ContentType
=
"image/JPEG"
%>
<%
Response.ContentType
=
"text/plain"
%>
<%
Response.ContentType
=
"image/JPEG"
%>
六,Response.charset
Charset
屬性將字元集名稱附加到
Response
對象中
content-type
標題的後面,用來設置伺服器響應給客戶端的文件字元編碼。
7,charset.asp
<%
Response.charset
=
"big5"
%>
中文顯示,但採用的big5繁體的編碼,所以看到的是亂碼。
當然Response.ContentType和Response.charset應用得比較少了。直接在head頭部屬性裡面添加就OK了。
七,Response.expires
該屬性指定了在瀏覽器上緩沖存儲的頁,距過期還有多少時間。
如果用戶在某個頁過期之前又回到此頁,就會顯示緩沖區中的頁面。
但若設置
response.expires=0,則可使緩存的頁面立即過期。
這是一個較實用的屬性,當客戶通過
ASP
的登陸頁面進入
WEB
站點後,應該利用該屬性使登陸頁面立即過期,以確保安全。
引用一個經典的例子
8,expires.asp
<%
Response.Expires
=
0
Response.Expiresabsolute
=
Now()
-
1
Response.AddHeader
"pragma","no-cache"
Response.AddHeader
"cache-control","private"
Response.CacheControl
=
"no-cache"
%>
八,Response.status
設置伺服器要響應的狀態行的值。Response.status="狀態描述字元串",字元串可以為一個三位整數或一串說明文字組成,但必須防在<html>之前。
9,status.asp
<%
Response.Status
=
"401
Unauthorized"
%>
九,Response.buffer
比較重要的一個,值為true
or
false。該屬性指示是否緩沖頁輸出。
引用:當緩沖頁輸出時,只有當前頁的所有伺服器腳本處理完畢或者調用了
Flush
或
End
方法後,伺服器才將響應發送給客戶端瀏覽器,伺服器將輸出發送給客戶端瀏覽器後就不能再設置
Buffer
屬性。因此應該在
.asp
文件的第一行調用
Response.Buffer。
Response.buffer=true
『玖』 Response對象的常用方法有哪些
很多,常用的有response.getOutputStream()獲得位元組輸出流,如做image下載用;getWriter()獲得字元流,按字元輸出流獲取,如使用json返回值等。sendRedirect重定向;。。。。。看servlet規范即可
『拾』 response和request對象的常用用法。
原來頁面
Response.Redirect("….aspx?abc=" + 變數);
目的頁面
string abc=Request.QueryString["變數"].ToString();