?? 0071.htm
字號:
<html>
<head>
<title>新時代軟件教程:操作系統 主頁制作 服務器 設計軟件 網絡技術 編程語言 文字編輯</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
<!--
body, table {font-size: 9pt; font-family: 宋體}
a {text-decoration:none}
a:hover {color: red;text-decoration:underline}
.1 {background-color: rgb(245,245,245)}
-->
</style>
</head>
<p align="center"><script src="../../1.js"></script></a>
<p align="center"><big><strong>JSP實現在瀏覽器關閉cookies情況下的會話管理</strong></big></p>
<div align="right">摘自《ChinaAsp》(文/jspfuns)</div>
<p><span class=smallFont>
通常,會話管理是通過服務器將 Session ID 作為一個 cookie 存儲在用戶的 Web 瀏覽器中來唯一標識每個用戶會話。如果瀏覽器不支持 cookies,或者將瀏覽器設置為不接受 cookies,我們可以通過 URL 重寫來實現會話管理。 <br>
<br>
實質上 URL 重寫是通過向 URL 連接添加參數,并把 session ID 作為值包含在連接中。然而,為使這生效,你需要為你的 servlet 響應部分的每個連接添加 session ID 。 <br>
<br>
把 session ID 加到一個連接可以使用一對方法來簡化:response.encodeURL() 使 URL 包含 session ID,如果你需要使用重定向,可以使用 response.encodeRedirectURL () 來對 URL 進行編碼。 <br>
<br>
encodeURL () 及 encodeRedirectedURL () 方法首先判斷 cookies 是否被瀏覽器支持;如果支持,則參數 URL 被原樣返回,session ID 將通過 cookies 來維持。 <br>
<br>
來看下面的例子,兩個 JSP 文件:hello1.jsp 和 hello2.jsp,及它們之間的影響。我們在 hello1.jsp 中簡單的創建一個會話,并在 session 中存儲一個對象實例。接著用戶可以點擊頁面的連接到達 hello2.jsp。在 hello2.jsp 中,我們從 session 中獲取原先放置的對象并顯示它的內容。注意,我們在 hello1.jsp 中調用了 encodeURL() 方法來獲得 hello2.jsp 的鏈接,使得在瀏覽器停用 cookies 的情況下,session ID 自動添加到 URL,hello2.jsp 仍能得到 session 對象。 <br>
<br>
首先在啟用 cookies 的情況下運行。然后關閉對 cookie 的支持,重啟瀏覽器,再運行一次。每次你都可以看到會話管理在起作用,并能在頁之間傳遞信息。 <br>
<br>
注意,如果你想讓這個例子能在關閉了 cookies 的瀏覽器中工作,你的 JSP 引擎必須支持 URL 重寫。 <br>
<br>
<br>
hello1.jsp<br>
<br>
<br>
<%@ page session="true" %><br>
<%<br>
Integer num = new Integer(100);<br>
session.putValue("num",num);<br>
String url =response.encodeURL("hello2.jsp");<br>
%><br>
<a href='<%=url%>'>hello2.jsp</a><br>
<br>
hello2.jsp<br>
<br>
<br>
<%@ page session="true" %><br>
<%<br>
Integer i= (Integer)session.getValue("num");<br>
out.println("Num value in session is "+i.intValue());<br>
%>
</table>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -