Java会话技术Session如何使用
发表于:2024-12-05 作者:千家信息网编辑
千家信息网最后更新 2024年12月05日,本篇内容介绍了"Java会话技术Session如何使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
千家信息网最后更新 2024年12月05日Java会话技术Session如何使用Session如何工作
结合代码理解Session
本篇内容介绍了"Java会话技术Session如何使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
什么是Session
Session技术是将信息保存在服务端,而客户端需要接收、记录和回送Session的ID,所以Session通常情况下是借助Cookie技术来传递ID给服务端的,服务端拿到session id之后查询内存中对应的记录。
一个客户端对应一个Session,而一个Session有多个Attribute,每一个Attribute有唯一的name。
编写代码证明提出的观点:
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { HttpSession session = req.getSession(); PrintWriter writer = resp.getWriter(); // 给session绑定一个user对象 session.setAttribute("user", new User(1, "kongsam")); List users = new ArrayList<>(); users.add("kongsam"); users.add("xiaoming"); users.add("xiaohong"); // 给session绑定一个list数组 session.setAttribute("list", users); // 最后打印输出 writer.println("JSESSIONID = " + session.getId()); writer.println("object => user = " + session.getAttribute("user").toString()); for (String user : users) { writer.println("list => user = " + user); }}
两个不同的浏览器就是两个不同的客户端,这两个客户端对应不同的JSESSIONID。
Session如何工作
在现实生活中,当你去理发店理发时,你可以选择在前台办理一张会员卡,前台工作人员将你的基本信息和之后的消费信息等都存储到店家电脑的硬盘上,在以后消费的时候你仅凭一张会员卡就可以查询到你所有的信息和消费记录。注意,这里的你是指客户端,前台(店家)指的是服务端。
结合代码理解Session
SessionDemo01是用来创建一个假的数据库,并且把这个数据库存放到Session中进行保管。
@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { HttpSession session = req.getSession(); // 创建一个假数据库 Map vipUsers = new HashMap<>(); vipUsers.put("kongsam", new VipUser(1, "kongsam", "123", 50)); vipUsers.put("xiaoming", new VipUser(2, "xiaoming", "123", 100)); vipUsers.put("xiaohong", new VipUser(3, "xiaohong", "123", 200)); // 将假数据库的数据存放到Session中 session.setAttribute("vipUsers", vipUsers);}
然后SessionDemo02用于访问Session里vipsUsers数据库,如果用户没有办理或者不存在该用户则为其注册一个新VIP。
@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("utf-8"); resp.setCharacterEncoding("utf-8"); resp.setContentType("text/html;charset=utf-8"); HttpSession session = req.getSession(); // 获取username String username = req.getParameter("username"); // 从Session中取出数据库 Map maps = (Map) session.getAttribute("vipUsers"); // 判断数据库中是否有和username匹配的用户 if (maps.get(username) != null && maps.get(username).getUsername().equals(username)) { resp.getWriter().println(maps.get(username).getUsername() + "您好,您目前的积分是: " + maps.get(username).getPoints()); } else { resp.getWriter().println("您还没有办理会员卡,前台正在为您办理中...,请刷新页面。"); maps.put(username, new VipUser(1, username, "123", 50)); session.setAttribute("vipUsers", maps); }}
"Java会话技术Session如何使用"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
数据
数据库
客户
客户端
技术
信息
前台
服务
不同
两个
会员
会员卡
用户
消费
代码
内容
店家
情况
更多
知识
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全风险与应对措施
中国引文数据库版中国知网
小象互联网科技圈
迷你家用服务器
在线考试系统建数据库
计算机三级网络技术上海
学软件开发需要哪些证
dede数据库还原
梅村服务器
数据库结构化数据分析
网络技术及应用包含
汽车网络技术培训心得
大学网络安全团会开场词
云计算网络技术与应用徐红
深圳工控软件开发价格表
怎么做一个数据库系统
无锡歆艺鑫互联网科技有限公司
鼎城租房软件开发
微信登录老是载入数据库
时序数据库下载
选择网络服务器时
山西腾云达网络技术
360汽车网络安全吗
项目 开发 软件开发
2021陕西网络安全教育
网络安全知识宣传手册电子版
数据库应用管理系统结构
不用密码的网络安全吗
甘肃软件开发厂家
帕拓逊网络技术有限公司面试