session对象的ID

本文探讨了Web服务器如何通过Session ID识别用户多次请求。每个用户在服务器端都有一个独特的Session,其ID在请求间传递,通常存储在Cookie中。Session ID的重要性在于维持用户会话的连续性,而当Cookie被清除或Session达到最大生存时间,Session会失效。通过实例展示了不同浏览器打开同一应用时,Session ID的变化,揭示了不同用户Session的独立性。

1、一个用户发送多次请求到服务端,服务器怎么认识的呢?

        服务器给它分配一个session,这个session有一个ID号,也就是说,不同用户的session是不一样的,每个用户都有一个session,每个session都有一个不同的ID。

        在返回请求的时候,它会把session的ID号返回给客户端,然后客户端在发第二次请求的时候,这个请求就包括session   ID了,通过这种方式识别用户的多次请求,因此session   ID是一个很关键的问题。

2、session对象被分配了一个String类型的ID,服务器将ID发送到客户端,存放在客户的Cookie中。

有些时候,如果清理掉Cookie的话,再访问服务器就和没登录一样,因为将服务器缓存在浏览器的内容给清空了,因此session和Cookie是配套使用的。

  • 同一用户在同一Web服务目录中的各个页面的session相同。
  • 不同用户的session对象互不相同,具有不同的ID。

3、session的失效

  • 客户关闭浏览器
  • session到达了最大生存时间

4、实例

例1:

sessionIDa.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<HTML>
<BODY>
	<P>
		<%
			String s = session.getId();
		%>
	
	<P>
		您的session对象的ID是:	<%=s%>
	<FORM action="sessionIDb.jsp" method=post name=form>
		<INPUT type="text" name="boy">
        <INPUT type="submit" value="送出" name=submit>
	</FORM>
</BODY>
</HTML>


sessionIDb.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<HTML>
<BODY>
	<P>
		我是sessionIDb.jsp页面
		<%
		String s = session.getId();
	     %>
	
	<P>
		您的session对象的ID是:	<%=s%>
	<P>
		点击超链接,连接到sessionIDa.jsp页面。 <A HREF="sessionIDa.jsp"> sessionIDa.jsp</A>
</BODY>
</HTML>



结果是

http://localhost/JavaWebBasic/session/sessionIDa.jsp

点击送出之后,是下面的样子

http://localhost/JavaWebBasic/session/sessionIDb.jsp

但是用别的浏览器打开的话,相当于显示另外一个用户,显示的是

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值