JSP的response對象例子

【前言】上班了,學習的時間幾乎沒有

 

【原文】http://blog.csdn.net/niexinblog/archive/2008/06/04/2510825.aspx

 

1. 頁面自動刷新

 

 

這裏,我們只有將i定義爲全局變量,才能看到自增效果。上例中,我們設置爲每一秒鐘自動刷新一次。

 

2. 頁面自動跳轉

 

 

在自動跳轉的過程中,可以將參數添加到URL的尾部用來傳遞參數值,例如:

 

index.jsp

 

 

common.jsp

 

 

跳轉後,地址欄顯示的是http://localhost/common.jsp?ref=aaa,即爲跳轉後的url

 

 3. 頁面跳轉

 

index.jsp

 

 

common.jsp

 

 

index.jsp中的輸出語句沒有打印,地址欄顯示的是http://localhost/common.jsp,即爲跳轉後的url

 

【問題】

1)爲什麼上例中,index.jsp中的內容沒有輸出?

2)直接在setHeader中指定url,和用sendRedirect,有什麼區別?

 

4. 設置Cookie


cookie是客戶端保存的一種資源,常用來自動登錄網站等

 

index.jsp

 

 

 

index.jsp將name和password放在cookie中,訪問該jsp後,可以從本地的Temporary Internet Files目錄下看到生成的cookie:

 

name
aaa
localhost/
1024
3088572800
30108200
2492942800
30108200
*
password
111
localhost/
1024
3088572800
30108200
2493102800
30108200
*

 

在60秒之後,這個cookie文件會被自動刪除

 

common.jsp

 

 

 先後執行上面的兩個頁面,我們可以看到,客戶端所保存的cookie會被服務器讀取。如果超過了cookie保存時間,則第二個頁面就會出錯。

另外,如果上面的兩個頁面是在同一窗口中執行,則我們會看到JSESSIONID,這是服務設置一個默認的cookie到客戶端。如果我們另外開窗口執行common.jsp,就不會看到它了,因爲session的ID號只對同一窗口有效。

 

common.jsp顯示的結果是:

 

JSESSIONID --> 17CB5CF0DA7A22661A273D6EC492C3E0
name --> aaa
password --> 111

 

 

5. 禁用頁面緩存

 

index.jsp

 

 

common.jsp

 

 

先運行這個例子,我們在同一窗口中先後執行這兩個網頁,會看到後臺(從tomcat的stdout_20101013.log中可以看出)輸出了時間字符串,且窗口停留在common.jsp上。然後我們點瀏覽器的後退按鈕,窗口會回到index.jsp,但是,我們觀察後臺,沒有新的字符串輸出了,這是怎麼回事呢?

 

這說明,我們通過後退按鈕雖然回到了index.jsp,但是頁面的代碼並沒有被執行,我們看到的是瀏覽器的緩存頁面

 

在實際的項目開發工程中,往往會用到禁用緩存技術,即如果通過後退按鈕回到了某一頁,也必須從服務器上重新讀取,例如:

 

index.jsp

 

 

common.jsp

 

 

 

我們運行修改過後的這個例子,就會發現當我們點擊後退按鈕回到index.jsp時,頁面代碼都會被執行一次。

 

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