SpringBoot开发八-会话管理
需求介绍—会话管理
利用Cookie和Seesion使得HTTP变成有会话的连接,写几个实例演示一下
代码实现
先写个例子,表示客户端第一次访问服务器,服务器端创建一个Cookie发送给客户端。
不管是返回什么,都是通过做出响应,都是通过HttpServletResponse作响应,存到HttpServletResponse的头部
@RequestMapping(path = "/cookie/set", method = RequestMethod.GET)
@ResponseBody
public String setCookie(HttpServletResponse httpServletResponse) {
// 创建对象
Cookie cookie = new Cookie("code", CommunityUtil.generateUUID());
// 指定路径,设置cookie有效范围,只有这个范围发送的时候才会发送Cookie
cookie.setPath("/community");
// 设置cookie生存时间,以秒为单位
cookie.setMaxAge(60 * 10);
// 发送cookie
httpServletResponse.addCookie(cookie);
return "set cookie";
}
// 查看Cookie,通过@CookieValue注解,可以在服务端得到Cookie,通过里面的变量值来得到某一个Cookie的Value值,不然那得到是头携带的所有的Cookie
@RequestMapping(path = "/cookie/get", method = RequestMethod.GET)
@ResponseBody
public String getCookie(@CookieValue("code") String code) {
System.out.println(code);
return "get cookie";
}
结果:


那现在看下Session的创建,下发,响应。
Session可以存任意的数据,而Cookie一般只能存String
// Session示例
@RequestMapping(path = "/sesssion/set", method = RequestMethod.GET)
@ResponseBody
public String setSession(HttpSession httpSession) {
httpSession.setAttribute("id",1);
httpSession.setAttribute("name","Test");
return "set Session";
}
// 从session中取值
@RequestMapping(path = "/session/get", method = RequestMethod.GET)
@ResponseBody
public String getSession(HttpSession httpSession) {
System.out.println(httpSession.getAttribute("id"));
System.out.println(httpSession.getAttribute("name"));
return "get Session";
}
SpringBoot开发八-会话管理的更多相关文章
- Web安全开发指南--会话管理
		1.会话管理 3.1.会话管理安全规则 1 避免在URL携带session id. 2 使用SSL加密通道来传输cookie. 3 避免在错误信息和调试日志中记录session id. 4 使用框架自 ... 
- SpringBoot开发十七-事务管理
		需求介绍 熟悉事务管理. 什么是事务 事务是由N步数据库操作序列组成的逻辑执行单元,这系列操作要么全执行,要么全放弃执行. 事务的特性(ACID) 原子性(Atomicity):事务是应用中不可再分的 ... 
- Nodejs之MEAN栈开发(八)---- 用户认证与会话管理详解
		用户认证与会话管理基本上是每个网站必备的一个功能.在Asp.net下做的比较多,大体的思路都是先根据用户提供的用户名和密码到数据库找到用户信息,然后校验,校验成功之后记住用户的姓名和相关信息,这个信息 ... 
- fieldmeta 基于springboot的字段元数据管理,通用代码生成,快速开发引擎
		fieldmeta: 基于springboot的字段元数据管理 version:Alpha 0.0.1 ,码云地址:https://gitee.com/klguang/fieldmeta 元数据(Me ... 
- asp.net微信开发第三篇----自定义会话管理
		和微信用户的沟通少不了,总觉得看起来微信官网后台管理中的会话回复消息有点呆板,所以我这里就自定义了一个会话管理功能,最终效果图如下: 因为我试使用富文本文件CKEDITOR来进行编写,你看到稳中可能会 ... 
- 基于hi-nginx的web开发(python篇)——cookie和会话管理
		hi-nginx通过redis管理会话. 要开启管理,需要做三件事. 第一件开启userid: userid on; userid_name SESSIONID; userid_domain loca ... 
- SpringBoot&Shiro实现权限管理
		SpringBoot&Shiro实现权限管理 引言 相信大家前来看这篇文章的时候,是有SpringBoot和Shiro基础的,所以本文只介绍整合的步骤,如果哪里写的不好,恳请大家能指出错误,谢 ... 
- 3种web会话管理的方式
		http是无状态的,一次请求结束,连接断开,下次服务器再收到请求,它就不知道这个请求是哪个用户发过来的.当然它知道是哪个客户端地址发过来的,但是对于我们的应用来说,我们是靠用户来管理,而不是靠客户端. ... 
- 3种 web 会话管理的方式
		转自:http://www.yidianzixun.com/n/0F1GYAsQ?s=8&appid=xiaomi&ver=3.7.8&utk=4lxc4q7c&fro ... 
随机推荐
- 面试题二:JVM
			JVM垃圾回收的时候如何确定垃圾? 有2种方式: 引用计数 每个对象都有一个引用计数属性,新增一个引用时计数加1,引用释放时计数减1,计数为0时可以回收: 缺点:无法解决对象循环引用的问题: 可达性分 ... 
- SpringBoot | 1.1 SpringBoot简介
			前言 本博客仅为记录与总结SpringBoot的学习笔记,资料来源: 书籍<深入浅出SpringBoot>第三版 B站尚硅谷<雷丰阳2021版SpringBoot2零基础入门> ... 
- 前端笔记:Html页面常用元素
			Html页面由基本几个元素(标签)组成 html.head.body.foot(很少使用). html是整个页面的父级元素,内部包括head.body.foot子类标签. head是页头,及页面的头部 ... 
- s3cmd的使用
			目录 1. 安装s3cmd 2. 配置s3cmd 3. 使用s3cmd [前言] s3cmd 是用于创建S3桶,上传,检索和管理数据到对象存储命令行实用程序. 本文将指导linux下安装s3cmd程序 ... 
- CVE-2017-12615 Tomcat远程代码执行
			影响版本: Apache Tomcat 7.0.0 - 7.0.81 ps:安装Tomcat需要安装jdk(JAVA环境) 下面来正经复现,Payload: 利用burpsuite 进行抓包 发送到r ... 
- ASP.NET保存图片到sql2008
			//将图片转行为二进制的方式,存储到数据库 string name = FileUpload1.PostedFile.FileName; string type = name.Substring(na ... 
- Tomcat网站根目录设置
			直接将war放入到webapps目录下 修改server.xml文件,在Host节点下添加如下代码 <Context path="/" docBase="web&q ... 
- Redis学习——常用小功能
			一.慢查询分析(查询日志:所谓慢查询日志就是系统在命令执行前后计算每条命令的执行时间,当超过预设阀值,就将这条命令的相关信息(例如:发生时间,耗时,命令的详细信息)记录下来,Redis也提供了类似的功 ... 
- hash表/哈希表
			https://blog.csdn.net/duan19920101/article/details/51579136 简单理解就是一个通过映射直接查找的表(散列表),用哈希函数将数据按照其存储特点进 ... 
- 构建前端第9篇之(下)---vue3.0将template转化为render的过程
			vue3.0将template转化为render的过程 这里是简单标记下,如何将.vue转换成js文件 具体的,先不研究了,太深,能力有限,达不到呢 
