当前位置:  编程技术>java/j2ee

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

    来源: 互联网  发布时间:2014-10-13

    本文导语:  通常,会话管理是通过服务器将 Session ID 作为一个 cookie 存储在用户的 Web 浏览器中来唯一标识每个用户会话。如果浏览器不支持 cookies,或者将浏览器设置为不接受 cookies,我们可以通过 URL 重写来实现会话管理。   实质上 ...

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




hello2.jsp

hello2.jsp






axeon于2000-08-03 11:05:38发送
Copyright © 2000 www.jsper.com All rights reserved.
The catalog script used on this site was written by axeon
站务联系: [axeonOICQ:1684897 ICQ:75795533]

    
 
 

您可能感兴趣的文章:

  • servlet/jsp 中的session(会话)保存在系统的什么地方??可不可以直接修改?
  • 菜鸟用tomcat3.2,在他的root目录下建立了一个test1.jsp.用浏览器显示正常,但我后来删掉了,可用浏览器还可以看到test1.jsp,这是怎么回事
  • 通过jsp或servlet如何记录用户关闭浏览器时的时间
  • 请问jsp中的一个新的session是否浏览器一关就没了
  • servlet使用RequestDispatcher到jsp页面,浏览器url栏还是servlet
  • jsp中sql语句执行时间太长,用浏览器打开时,页面超时,如何处理?
  • 请教各位大帅:jswdk中运行jsp,为何客户端浏览器无内容,查看原代码,就是原文件?
  • JSP中用回车监听按钮事件兼容火狐 IE等主流浏览器
  • (新手)请教如何通过tomcat运行自己写的jsp,在浏览器上浏览页面?
  • 在visualAge for java3 中我也起动com.ibm.servlet->run main了,在浏览器中也运行了。可是我如何创建jsp工程呢?
  • 怪问题--JSP自动将浏览器的编码转换成 西欧(ISO)字体 然后显示的是乱码
  • 请问在B/S结构的软件中,浏览器中报表的打印和预览有没有什么好的解决方案?我用的是PHP和JSP!
  • jsp 获取客户端的浏览器和操作系统信息
  • 这个jsp文件用浏览器看没东西为什么?
  • jsp怎样才能使从数据库读出来的表格信息以表格形式全部输出到浏览器上呢?
  • jsp文件中凡是中文的,到浏览器上全成了乱码,清高手指点
  • 请教:JSP怎样连接Excel?将Excel的数据读取出来用表格显示在浏览器上?
  • JSP对浏览器发送来的数据进行重新编码的两种方式
  • JSP页面缓存cache技术--浏览器缓存介绍及实现方法
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • jsp页面中窗口关闭,退出的方式分享
  • 在JSP中有没有什么方法保存一个变量,直到一系列页面应用都关闭?
  • 如何在jsp页面里通过按一个按钮,就关闭这个页面?我急,谢谢。17:00结贴;
  • window.close("a.jsp")时怎么才能不弹出一个确认框?而直接关闭窗口。
  • 在forte for java 4的Source Editor中编辑jsp时候,可以输入中文,可是保存后关闭再打开,中文显示???,怎么回事啊
  • 为什么我在jsp中只是把访问数据库的javabean的scope从page改成session, 就会出现"关闭的语句"异常?
  • JSP中清空cookie代码参考
  • 现有1.jsp、2.jsp、3.jsp三个文件,我怎么在3.jsp文件中得到1.jsp中输入的值?
  • 一个框界网爷包含上下两个网页a1.jsp和a2.jsp,怎么实现a1.jsp自身不变且提交数据到下面的a2.jsp呢?不胜感激,急..
  • 请问jsp和serlet之间怎么通讯,jsp和jsp之间呢?
  • 请问<%@include file="abc.jsp"%>与<jsp:include page="abc.jsp"/>之间的差别
  • response.sendRedirect("index.jsp") 和 <jsp:forward page="index.jsp"/>的区别?
  • 想把一个jsp转到另一个jsp页面,要穿参数,中文的(jsp变量)。谁教教我?!
  • aaa.jsp有如下链接,当单击该链接时将id值传递给bbb.jsp,怎样在bbb.jsp中引用这个id值?
  • jsp+bean还是jsp+ejb还是jsp+servlet还是asp+activex好?
  • 谁能告诉我,怎么调试jsp程序呀!我在jsp中调用java,但是Tomcat这家伙只会给我报jsp文件出错。这可怎么办呀?
  • jsp中如何获得当前jsp文件所在的目录,用request.getServletPath()得到的路径含有jsp文件名,有没有办法得到目录(不含文件名)?
  • 初学jsp,一个html调用一个jsp,这个jsp调用一个javaBean,已编译成类,最后如何部署(用j2sdkee)?
  • 我要学jsp,已经下载了j2ee1.4,需要一个支持jsp引擎的WEB服务器或jsp引擎!!(急,马上给分)
  • jsp中相对路径怎么表示?例如当前目录下的jsp目录里的文件。
  • 我已经在输出前包含了<jsp:include page="2.jsp"/>,
  • 欲学JSP,请教JSP资料,最好电子版。
  • jsp中文乱码 jsp mysql 乱码的解决方法
  • jsp+JavaBean vs jsp+Servlet+JavaBean
  • JSP/html 编辑器 Bravo JSP editor
  • JSP开发入门(五)--JSP其他相关资源
  • <jsp:include page="SystemLeft.jsp?TypeId=<%= itTypeId.toString() %>" flush="true" />


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3