国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

JSP實現瀏覽器關閉cookies情況下的會話管理

2024-09-05 00:19:30
字體:
來源:轉載
供稿:網友


通常,會話管理是通過服務器將 session id 作為一個 cookie 存儲在用戶的 web 瀏覽器中來唯一標識每個用戶會話。如果瀏覽器不支持 cookies,或者將瀏覽器設置為不接受 cookies,我們可以通過 url 重寫來實現會話管理。

  實質上 url 重寫是通過向 url 連接添加參數,并把 session id 作為值包含在連接中。然而,為使這生效,你需要為你的 servlet 響應部分的每個連接添加 session id 。

   把 session id 加到一個連接可以使用一對方法來簡化:response.encodeurl() 使 url 包含 session id,如果你需要使用重定向,可以使用 response.encoderedirecturl () 來對 url 進行編碼。

  encodeurl () 及 encoderedirectedurl () 方法首先判斷 cookies 是否被瀏覽器支持;如果支持,則參數 url 被原樣返回,session id 將通過 cookies 來維持。

  來看下面的例子,兩個 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 對象。

  首先在啟用 cookies 的情況下運行。然后關閉對 cookie 的支持,重啟瀏覽器,再運行一次。每次你都可以看到會話管理在起作用,并能在頁之間傳遞信息。

注意,如果你想讓這個例子能在關閉了 cookies 的瀏覽器中工作,你的 jsp 引擎必須支持 url 重寫。


hello1.jsp


<%@ page session="true" %>
<%
integer num = new integer(100);
session.putvalue("num",num);
string url =response.encodeurl("hello2.jsp");
%>
<a href='<%=url%>'>hello2.jsp</a>

hello2.jsp


<%@ page session="true" %>
<%
integer i= (integer)session.getvalue("num");
out.println("num value in session is "+i.intvalue());
%>


axeon于2000-08-03 11:05:38發送
copyright &copy; 2000 www.jsper.com all rights reserved.
the catalog script used on this site was written by axeon
站務聯系: [axeonoicq:1684897 icq:75795533]


菜鳥學堂:
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 绥德县| 三都| 重庆市| 曲阜市| 凤台县| 海南省| 稻城县| 岑巩县| 潼南县| 镇安县| 会理县| 南雄市| 永寿县| 邵阳县| 巴彦县| 波密县| 福泉市| 即墨市| 开封县| 东至县| 绥阳县| 肥城市| 安国市| 昌图县| 武强县| 海城市| 天峨县| 通山县| 东乡族自治县| 南康市| 关岭| 广丰县| 榆中县| 福海县| 玉田县| 杭锦后旗| 铅山县| 嘉兴市| 巴青县| 博乐市| 芦溪县|