Java会话技术Session如何使用
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,本篇内容介绍了"Java会话技术Session如何使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
千家信息网最后更新 2025年02月23日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安全错误
数据库的锁怎样保障安全
mdt服务器部署要填写账号密码
默认服务器设置的文件怎么删除
网络安全周是怎么规定的
云服务器要备案吗
宝信软件开发了哪些软件
局域网服务器失败
石林电脑软件开发
上海的软件开发公司
巩义无线网络技术
医药智能软件开发与应用
如何看待中国网络安全
h1z1服务器在哪架设
南京微微一笑互联网科技有限公司
网络安全宣传周医院
网络安全文明作文
在家搭建代理服务器
upupw连接数据库失败
戴尔服务器配置管理ip
网络安全行业公开课
香港服务器ip地址和密码
网络安全教育平台登录官网
学生成绩查询系统数据库
网络安全 案例题
怎么开发个app软件开发
云服务器要备案吗
破坏国家网络安全
杭州网络安全准入控制公司
江西集禾网络技术有限公司
协同软件开发有哪些特点
丁香花吉他谱软件开发