JavaWeb——session机制

介绍

  • 由于HTTP协议是无状态协议,会话跟踪技术可以很好的解决这个问题。

session对象

Web应用中,会话指在一段时间内,一个用户通过浏览器与服务器之间进行的一系列的请求和响应的交互过程。在一个会话中,用户可以访问该Web应用系统中包括网页在内的多种资源。
当用户(浏览器)向Web应用服务器发送第一次请求时,服务器会为该用户创建一个唯一标识的会话,会话一直延续到访问结束(浏览器关闭或用户长时间不访问Web应用)。JSP使用session对象表示会话,即将信息保存在session对象中,方便用户在这个会话中随时获取。

session运行机制

当Web应用系统接收到客户端浏览器的请求时,首先检查服务器是否已经为这个客户端创建了session,即判断客户端的请求中是否包含了一个session ID(session唯一标识),如果包含sessionID,则服务器就会通过sessionID找到对应的session,以确定是这个客户端访问服务器;而如果客户端的请求中没有sessionID,服务器会为该客户端创建一个新的session,并生成一个与此session对应的sessionID,然后将sessionID随着本次响应返回给客户端。

e.g.
index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<% request.getSession().setAttribute("key","session");%>
	<%=session.getId() %>
	<a href="./b.jsp">点击</a>
</body>
</html>

b.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%=session.getAttribute("key")%>
<%=session.getId() %>
</body>
</html>

在这里插入图片描述
点击之后;
在这里插入图片描述
刷新之后sessionID并没有改变

把浏览器关闭之后再打开;
在这里插入图片描述
再次点击;
在这里插入图片描述
可得,刷新网页不会改变sessionId的值。
即session存在整个会话中,但是如果是另外一个会话则不为不同的session对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值