以前用session时只知道session是和服务器连接的一个会话,有几个常用的接口。
这两天仔细看了下这方面的资料,在这里和大家一起分享,如果有写的不正确的地方,请指正,谢谢。
下面我们在一个servlet中写测试程序,class名为SeesinInfoServlet,我们一般在程序中取得session是用
request的getSession()来取得容器中的session,该方法当容器中已经存在了该session的时候,返回已经存
在的session,否则创建一个新的session,然后返回创建的session。request还有另外一个getSession()的重
载方法:HttpSession getSession(boolean create),一般不常用,大家可以查j2ee的api,每个session都对应
唯一的sessionId,sessionId可以通过getId()方法获得,session是维持客服端和服务器端状态的一个东西,是
通过sessionId来一一对应的,客服端的sessionId一般保存在cookie中,如果客服端的cookie没有被禁掉的话
。如果cookie被禁掉,我们可以通过URL重写来实现把sessionId传到服务器。请看下面程序。
PrintWriter pw = res.getWriter();这一句取得服务器端反映给客服端的输出流。
HttpSession s = req.getSession();取得session。
req.getRequestedSessionId();这一句取得客服端cookie中的sessionId,如果cookie没有被禁掉的话,第一次访问为null,因为还没创建session,以后每次都和
s.getId() 取得的值一致。
req.isRequestedSessionIdFromCookie();如果没有禁掉cookie,返回true。
req.isRequestedSessionIdFromURL();是否通过URL重写取得sessionId,
//pw.println("<a href="+ res.encodeURL("SessionInfoServlet")+">refresh</a>");其中的res.encodeURL(String),即为URL重写,我们可以看到地址栏后会跟sessionId。
如果不是URL重写,则地址栏中没有sessionId。
分享到:
相关推荐
关于session.doc关于sessio关于session.docn.doc
session及其跟踪机制cookies,URlRwriting Session对象用来解决客户端发送多个请求时来用户请求信息的存储问题
关于session的详细解释.pdf
Java关于session的详细解释,TXT文件,仅供学习参考,如用于商业用途,后果自负。
关于SESSION的好文章
这是一个关于Session的小demo,是一初学Jsp的学生做的,适合初学者使用。
vue+express关于session鉴权的小项目.zip
介绍一篇关于session的好文章,写的很详细session这个词被滥用的程度大概仅次于transaction,更加有趣的是transaction与session在某些语境下的含义是相同的。
在web.config设置sessionState 或者类文件里设置Session.Timeout,在IIS里访问时每次都是达不到时间就超时,原因是因为在IIS中设置了 1. web.config中设置Session过期时间方法, 2. II7.5 界面图形设置
博文链接:https://laorer.iteye.com/blog/41264
session和cookie原理解释以及他们的相同点和区别。
关于session和cookie的详细解释 <br>所有疑问通吃
摘要:虽然session机制在Web应用程序中被采用已经很长时间了,但是仍然有很多人不清楚session机制的本质,以至不能正确的应用这一技术。本文将详细讨论session的工作机制并且对在Java web application中应用session...
总结梳理的session自定义字段的几个说明,自己手边也在使用。
明白了session在网络编程中的神奇作用,相信你马上就会成为Java编程高手。
本文详细讲述了ThinkPHP关于session的各种操作方法,详情如下: ThinkPHP操作session官方的说明文档如下: start 启动session pause 暂停session clear 清除session destroy 销毁session get 获取session值 getLocal...