博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java Session 介绍;
阅读量:5291 次
发布时间:2019-06-14

本文共 1545 字,大约阅读时间需要 5 分钟。

为什么需要Session

这是为了填补 Http 协议的局限,当用户去访问一个页面,服务端返回完了请求(如,你访问完一个网页,这个页面将页面内容,界面UI呈现给你),就算是结束了,就断开了,服务端不再去追踪客户端(浏览器)的任务状态,所以 Http 的每次请求都是独立的,非连续的,Http 也称为无状态协议。那我们如果想在一个场合,或是一个特定过程,操作些用户自己的数据,就会很麻烦,甚至很危险。比如你可以通过 url 传参数的方式与服务器交互,并实现操作;

Session(会话) 的出现就解决了这样的问题,Session是创建在服务端的,在一定的时间后,由服务端来消毁。在这段时间,客户端与服务端的会话就会保持着,客户端就会利用服务端上的 Session 信息来找到或操作一些数据;

如何使用 Session

Java Api 只给我们一种方式来 获取 当前会话相关的 session:

HttpSession session = request.getSession();//或HttpSession session = request.getSession(boolean);

设置值:

session.setAttribute("key", 值对象);

获取值:

对象类型 obj = (对象类型)session.getAttribute("key");//如String name = (String)session.getAttribute("key");

删除 session 指定属性健:

session.removeAttribute("key");

清除所有的session,使当前 session 完全失效:

session.invalidate();

session超时周期设置 

1. Tomcat 安装位置 conf/web.xml :

30

30分种

2. Tomcat 安装位置 conf/server.xml :

单位为 秒

3. Java 代码设置:

HttpSession session = request.getSession();session.setMaxInactiveInterval(1200);

20 分种:

其他说明: 

1. session 过期情况:

1>. 客户端浏览器关闭:

2>. session 会话过期;

3>. 客户端会话调用了 .invalidate();

2. 浏览器关闭与session是否还在;

当客户端浏览器关闭后,session 在服务端还是会存在一定时间的,只是当浏览器器再次打开时,就会生成一个新的 session ,浏览器通过生成的 sessionid 属性来 匹配服务端的 session; 那上次的session 虽然还在,但是就访问不到了;

3. <% @ page session="false" %> 是什么情况?:

这句话的意思是,当前不能使用 session, 但是 页面 session 还是可以创建的;

4. session 在什么时候 被创建:

在 程序 调用 HttpServletRequest.getSession(true) 时创建;如果 页面没有使用 <%@ page session="false"%> 时,在 jsp 页面编译成 Servlet 时,会自动 加上 HttpSession session = HttpServletRequest.getSession(true);

 

转载于:https://www.cnblogs.com/editor/p/4114873.html

你可能感兴趣的文章
[leetcode] 309. Best Time to Buy and Sell Stock with Cooldown(medium)
查看>>
解决微信授权回调页面域名只能设置一个的问题 [php]
查看>>
HDU 4671 Backup Plan 构造
查看>>
linux下编译openjdk8
查看>>
【python】--迭代器生成器装饰器
查看>>
Pow(x, n)
查看>>
安卓当中的线程和每秒刷一次
查看>>
MySQL Proxy
查看>>
关于Vue的组件的通用性问题
查看>>
随机颜色值
查看>>
每日一库:Modernizr.js,es5-shim.js,es5-safe.js
查看>>
目录相关的操作
查看>>
解决虚拟机vmware安装64位系统“此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态”的问题...
查看>>
C++----练习--引用头文件
查看>>
11.基本包装类型
查看>>
ajax连接服务器框架
查看>>
wpf样式绑定 行为绑定 事件关联 路由事件实例
查看>>
利用maven管理项目之POM文件配置
查看>>
用HttpCombiner来减少js和css的请问次数
查看>>
FUSE-用户空间文件系统
查看>>