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

2016-01-29 12:29 1 1 收藏

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

【 tulaoshi.com - Java 】

  通常,会话管理是通过服务器将 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());
%

来源:https://www.tulaoshi.com/n/20160129/1486315.html

延伸阅读
标签: 浏览器
IE浏览器出现“您的浏览器不支持cookies功能”解决方法   我们在登录某些网站的时候,IE浏览器有时候出现您的浏览器不支持COOKIES功能的提示,导致登录失败。这里收集整理了此问题的解决方法: 从工具菜单中选择Internet 选项。 单击隐私标签。 单击高级按钮,按下列步骤进行设置。 设置完成,重新启动IE即可。(关闭IE再次重新打...
标签: 浏览器
QQ浏览器怎么关闭声音   QQ浏览器是一款由腾讯官方发布的浏览器软件,该浏览器不仅包含主流浏览器中的所有功能,并且对于微信用户还能够使用该浏览器登陆微信,但是在QQ浏览器中还包含一个特色功能,支持屏蔽网页中的声音,那么在QQ浏览器中如何关闭网页声音呢?下面我们一起学习下吧! 操作方法 1、打开qq浏览器,在qq浏...
标签: 浏览器
如何解决浏览器不支持cookies   故障分析:造成浏览器不支持cookies的情况首先考虑你是不是浏览器的问题,浏览器设置出现错误,浏览器内部异常的情况,其次就是你的电脑是否被中毒,系统文件被丢失的现象所导致。下面就一起来看看如何解决浏览器不支持cookies的操作方法。 解决方案: 一、先检测你的浏览器,假如你的浏览器...
标签: 浏览器
搜狗浏览器推荐怎么关闭   我们在使用搜狗浏览器时经常会弹出搜狗推荐的弹窗,很是烦人,搜狗推荐怎么关闭?其实搜狗推荐是搜狗浏览器默认自带的一个插件,可以通过手动卸载的方法去掉,下面小编就告诉大家几个方法。 方法一 1.直接在搜狗浏览器的右上角找到类似省略号的那个图标,点击,会发现带放大镜图标的搜狗推荐扩展插...
标签: Web开发
建议学习jquery的朋友学习下,了解下思路。 主要方法:$.browser.['浏览器关键字'] 代码: 代码如下: script type="text/javascript" $(function() { if($.browser.msie) { $( function() { alert("this is msie"); }); } else if($.browser.safari) { $( function() { alert("this is safari!"); }); } else if($.browser.mozill...

经验教程

361

收藏

13
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部