更新时间:2022-05-26 10:14:47 来源:极悦 浏览1128次
HTTP协议是一种无状态的协议,HTTP服务器对客户的每个请求和响应都是作为一个分离的事务处理。服务器无法确定多个请求是来自相同的客户还是不同的客户。这意味着服务器不能再多个请求中维持客户的状态。
创建会话对象是服务器的主动行为。一般客户向服务器发送第一个请求的时候,
首先明确两点:
1.request.getSession()在没有session的时候会创建session
//如果当前没有session,则会立刻建立一个session;如果有session则返回当前session
HttpSession session = request.getSession();
HttpSession session = request.getSession(true);
//这句话不会建立session,如果当前没有seesion建立的话,控制台输出应该是true的
HttpSession session = request.getSession(false);
System.out.println(session==null);
2.jsp中指令session默认配置为true
<%@ page session="true"%>
jsp编译后的java文件包含以下代码
session = pageContext.getSession();
因此当这个jsp页面执行时,这句话就会帮你创建session了
若要禁用jsp的自动创建session,可以显式声明
<%@ page session="false"%>
综上,并不是一请求页面就会创建session
以上就是关于“一文告诉你Session是什么时候创建的”介绍,大家如果想了解更多相关知识,不妨来关注一下极悦的Spring Session教程,里面的课程内容细致全面,有更多的知识等着大家去学习,相信对大家会有所帮助的。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习