Session
2021/11/17 6:11:30
本文主要是介绍Session,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
-
服务器会给每一个用户(浏览器)创建一个Session对象
-
一个Session独占一个浏览器,只要浏览器没有关闭,这个Session就存在
-
用户登录之后,每个网站都可以访问-->保存用户的信息,购物车等信息
Session 和 Cookie的区别:
-
Cookie是客户访问服务器的时候,服务器把用户的数据写给用户的浏览器,响应给客户端cookie,浏览器保存(可以保存多个),下次访问携带Cookie过去,服务端从请求中拿cookie【一个Cookie只能保存一个信息,一个web站点可以给浏览器发送多个cookie,最多存放20个cookie;浏览器上限300个cookie】
-
Session把用户的数据写到用户独占Session中,一个浏览器一个,服务器端保存(保存重要的信息,减少服务器资源的浪费。【第一次访问,在服务端登记一个Session,每个用户有唯一SessionID,由用户拿到;服务器的Session可以存很多数据根据ID来区分,每次访问即可找到相应的Session】
-
Session对象由服务器创建。
使用场景:
-
保存一个登录用户的信息;
-
购物车信息;
-
在整个网站中经常会使用的数据,我们将它保存在Session中;
使用Session:
//注册servlet 一个请求对应一个servlet //解决乱码 resp.setCharacterEncoding("utf-8"); req.setCharacterEncoding("utf-8"); //把文档变为html resp.setContentType("text/html;charset=utf-8"); //得到Session HttpSession session = req.getSession(); //给Session 存入东西 节点 同时可以存对象,比如Person // session.setAttribute("name","rose"); session.setAttribute("name", new Person("jack", 2, 20)); //获取session的Id String id = session.getId(); //判断Session是不是新创建的 .write为写出来,print为打印 boolean aNew = session.isNew(); if (aNew) { resp.getWriter().write("Session 创建成功!id为" + id); } else { resp.getWriter().write("session已经在服务器中存在!id:" + id); } =============================== //把之前的节点 移除 session.removeAttribute("name"); //手动 注销此session session.invalidate(); =========web.xml中配置会话过期================ </servlet-mapping> <!-- 设置Session默认的失效时间 自动失效--> <session-config> <!-- 15分钟后Session自动失效--> <session-timeout>15</session-timeout> </session-config> </web-app>
这篇关于Session的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-01Java部署教程:新手入门指南
- 2024-11-01Java部署教程:从入门到实践
- 2024-11-01Java订单系统教程:新手入门指南
- 2024-11-01Java分布式教程:新手入门指南
- 2024-11-01Java管理系统教程:新手入门详解
- 2024-11-01Java监控系统教程:从入门到实践
- 2024-11-01SpringCloud Alibaba入门:轻松搭建微服务架构
- 2024-11-01Swagger入门:新手必读指南
- 2024-11-01Swagger入门:轻松搭建API文档
- 2024-11-01uni-APP入门:新手快速上手指南