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 ...
随机推荐
- docker 搭建 redis 集群(哨兵模式)
文件结构 1. redis-sentinel 1-1. docker-compose.yml 1-2. sentinel 1-2-1 docker-compose.yml 1-2-2 sentinel ...
- [Vue入门及介绍,基础使用、MVVM架构、插值表达式、文本指令、事件指令]
[Vue入门及介绍,基础使用.MVVM架构.插值表达式.文本指令.事件指令] 1)定义:javascript渐进式框架 渐进式:可以控制一个页面的一个标签,也可以控制一系列标签,也可以控制整个页面 ...
- esp32 Guru Meditation 错误解决方案(转)
Guru Meditation本节将对打印在 Guru Meditation Error: Core panic'ed后面括号中的致错原因进行逐一解释.IllegalInstruction此 CPU ...
- python操作elasticsearch增、删、改、查
最近接触了个新东西--es数据库 这东西虽然被用的很多,但我是前些天刚刚接触的,发现其资料不多,学起来极其痛苦,写个文章记录下 导入库from elasticsearch import Elastic ...
- Luogu P4553 80人环游世界
link 题目大意 自东向西有 \(n\) 个国家.有 \(m\) 个人,他们可以选择 \(n\) 个国家中任意一个开始,任意一个结束,但路线必须自东向西,且第 \(i\) 个国家必须恰好经过 \(v ...
- python 图中找目标并截图
import numpy as npdef sjjt(xha,sjh,beitu,jl,xx,yy): #检查目标,并将目标指定范围内截图 pull_screenshot(xha,sjh,xx) #p ...
- ASP.NET 检测当前计算机及登录用户名
TextBox1.Text = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
- windows程序快速启动的方式:WIN键+R
WIN键+R是windows快速启动程序的一种方式,一般能独立运行的程序都能以这种方式启动.如notepad.calc.explorer等程序. 在命令行方式下explorer加上不同的参数,会得到不 ...
- python3.7 jack棋牌11点实例
# -*- codeing: utf-8 -*- # Project: 棋牌游戏11点 # Author: jack # Version: 2.2 # Start Time: 2021-07-24 i ...
- html自定义加载动画
整体代码 HTML 实现自定义加载动画,话不多说如下代码所示: <!DOCTYPE html> <html lang="en"> <head> ...