栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

关于BS结构系统的会话机制(session机制)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

关于BS结构系统的会话机制(session机制)

关于B/S结构系统的会话机制(session机制) 会话

用户打开浏览器,进行一系列操作,最终关闭浏览器,这个整个过程叫做:一次会话(对应的java对象是session)一次请求:用户在浏览器上面点击了一下之后,然后到页面停下来,可以粗略认为是一次请求(对应的java对象是request)一个会话中包含多次请求在java的servlet规范中,session对应的类名是:HttpSession (jakarta.servlet.HttpSession)session机制是属于B/S结构的一部分,如果使用php开发项目,也存在session机制,session实际上是一种规范,在不同的语言中有不同的会话机制实现session对象的主要作用是:保存会话状态,(用户登录成功了之后,这是一种登录的状态,怎么保存登录成功的这个状态?利用session机制保存!) 为什么需要session对象来保存会话状态呢?

因为HTTP协议是一种无协议状态无状态:请求的时候,B和S是连接的,但是请求结束之后,连接就断开了,这样做可以降低服务器的压力,请求的瞬间是连接的,请求结束连接断开,服务器的压力小只要B/S的连接断开了之后,关闭浏览器的这个动作,服务器知道吗

不知道,服务器是不知道浏览器关闭的 域概述

ServletContext对象是服务器启动的时候创建的,服务器关闭的时候销毁,这个ServletContext对象只有一个

request请求域(HttpServletRequest)、session会话域(HttpSession)、application应用域(ServletCntext)

request < session < application

session操作
// 获得session对象
HttpSession session = response.getSession();



// 向session会话域中绑定数据
session.setAttribute();
// 从session会话域中取出数据
session.getAttribute();
session对象的实现原理

session对象的内部实现原理是通过记号的方式

在web服务器中有一个session对象,类似于map集合,

这个map集合的key存储的是sessionid,value存储的是session对象

用户发送第一次请求的时候,服务器会创建一个新的session对象,同时给session对象生成一个id,然后web服务器会将session的id发送给浏览器,浏览器将session的id保存在浏览器的缓存中

用户发送第二次请求的时候,会自动将浏览器缓存中的session自动发送给服务器,服务器获取到session的id,然后从session列表中查找到对应的session对象

为什么关闭浏览器,会话结束

关闭浏览器之后,浏览器中保存的sessionid消失,下次重新打开浏览器之后,浏览器缓存中没有这个session,自然找不到服务器中对应的session对象,session对象找不到等同于会话结束!

session对象什么时候被销毁

    超时销毁手动销毁

JSESSIonID=xxxx 是以cookie的形式保存到浏览器中的,只要浏览器关闭,这个cookie就没有了

cookie禁用了之后,session机制还能实现吗

cookie禁用是服务器正常发送cookie给浏览器,但是浏览器拒收了,不是服务器不发了找不到的情况下,每一次请求都会获取到新的cookie对象cookie禁用了之后,session机制还能实现吗?

可以 需要使用URL重写机制URL重写机制会提高开发者的成本,开发人员在编写任何请求路径的时候,后面都要添加一个sessionid,给开发带来了很大的难度,很大的成本,所以大部分的网站都是这样设计的,要是禁用cookie,就别用网站了。 session的超时设置




    
    
    
        30
    


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/775295.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号