JSP实现浏览器关闭cookies情况下的会话管理

 更新时间:2006年10月13日 00:00:00   作者:  
通常,会话管理是通过服务器将 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]

相关文章

  • 将html页改成jsp的两种方式

    将html页改成jsp的两种方式

    将html页改成jsp有两种方法,第一种是直接修改html文件,另一种是新建jsp文件。下面为大家详细介绍下具体实现,感兴趣的朋友可以参考下
    2013-08-08
  • jsp中四种传递参数的方法

    jsp中四种传递参数的方法

    本文主要介绍了jsp中四种传递参数的方法,具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03
  • 用JSP生成静态页面

    用JSP生成静态页面

    用JSP生成静态页面...
    2007-01-01
  • JSP EL表达式详细介绍

    JSP EL表达式详细介绍

    为了使JSP写起来更加简单。 表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法。
    2009-09-09
  • Jsp servlet验证码工具类分享

    Jsp servlet验证码工具类分享

    这篇文章主要为大家分享了Jsp servlet验证码工具类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • jsp/javascript打印九九乘法表代码

    jsp/javascript打印九九乘法表代码

    编程打印九九乘法表,本文介绍两种实现方式:jsp表达式方式javascript方式,可以根据自己的习惯随意选择,感兴趣的朋友可以参考下哈
    2013-03-03
  • 实例讲解JSP Model2体系结构(上)

    实例讲解JSP Model2体系结构(上)

    实例讲解JSP Model2体系结构(上)...
    2006-10-10
  • JSP实现简单网页计算器

    JSP实现简单网页计算器

    这篇文章主要为大家详细介绍了JSP实现简单网页计算器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • JSP实现文件上传功能

    JSP实现文件上传功能

    这篇文章主要为大家详细介绍了JSP实现文件上传功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • Javaweb工程运行报错HTTP Status 404解决办法

    Javaweb工程运行报错HTTP Status 404解决办法

    这篇文章主要介绍了Javaweb工程运行报错HTTP Status 404解决办法,文中通过示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07

最新评论