1.session会话追踪原理
客户端第一次请求服务端,服务端会创建一个session对象并且存储下来,之后会将session的唯一标识sessionId设置到响应头中传给客户端
客户端之后请求就会在cookie中携带第一次请求后服务端传过来的sessionId,服务端能通过客户端传过来的sessionId获取之前创建的session从而实现会话追踪
2.session的获取
session在服务端能通过request.getSession()获取
可以传参一个布尔值,request.getSession(true/false), true代表当根据sessionId未获取到session的时候会创建一个新的session,false当未获取到session时不会创建直接返回null。不传参这种情况默认true
```
/**
* @return the session associated with this Request, creating one
* if necessary.
*/
@Override
public HttpSession getSession() {
相关文章
MyBatis 结果映射总结
前言 结果映射指的是将数据表中的字段与实体类中的属性关联起来,这样 MyBatis 就可以根据查询到的数据来填充实体对象的属性,帮助我们完成赋值操作。其实 MyBatis 的官方文档对映射规则的讲解还...
idea-启动速度优化
原因:默认分配的内存太小了 解决方式:更改idea(64).exe.vmoptions配置 D:\ADBSpace\ProgramFiles\ideaIU-2021.2.win\bin 默认配置 ``...
优惠券的工厂与策略模式实现方案
实际开发中最常用的模式基本上是[策略]和[工厂]。[En]The most frequently used modes in real development are basically [Strat...
Fizz企业级微服务网关-服务编排,祭出终结BFF层的大杀器
概述 服务编排是Fizz网关提供的一个强大的功能,能够基于现有的业务微服务通过在线配置的方式快速的生成一个聚合接口,减少中间层胶水代码以及降低编码投入。本文介绍服务编排三个常见场景的使用:单API结果...
西门子PLC数据读取 Observer设计模式
当我听到这个需求的时候,我差点爆粗口(实际上可能已经爆了,不过我忘了)。 需求刚开始是: C#连接PLC Modbus读取值。 我用C#写完了,觉得太简单了,还弄了个窗体。 接着是: 只读值。这太简单...
微服务入门之Ribbon+OpenFeign
一、概述 1.1、Ribbon Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。简单的说,Ribbon是Netflix发布的开源项目,主要功能是...
JavaSE-对象所有字段判空
```java /* * 判断该对象是否所有属性为空 * 返回ture表示所有属性为null,返回false表示不是所有属性都是null / public static boolean isAllFi...
设计模式之备忘录模式
无论是我们在使用word还是记事本,系统都会为我们提供撤销的功能,这几乎是人人都会使用到的功能,而在我们实际开发中,会不会存在一个很复杂的对象,当更改了其中的某一个属性以后,也提供撤销的功能,可以快速...
如何实现 System.out.println(“a”) 显示 b
今天看到一篇文章不用反射,能否交换两个字符串的值. 心想字符串常量在常量池里面,是在就算用了反射也交换不了吧。转念一想,不对,字符串常量虽然本身在常量池里面,但是它依然是个对象,那么 private ...
Springboot笔记
SpringBoot简介 Spring是一个开源框架,2003 年兴起的一个轻量级的Java 开发框架,作者:Rod Johnson 。 Spring是为了解决企业级应用开发的复杂性而创建的,简化开发...
自己动手实现AQS(一) AQS互斥模式与ReentrantLock可重入锁原理解析
1. MyAQS介绍 在这个系列博客中,我们会参考着jdk的AbstractQueuedLongSynchronizer,从零开始自己动手实现一个AQS(MyAQS)。通过模仿,自己造轮子来学习主要有...
CodeSmith Template Model Output
背景:上学那会儿就接触CodeSmith,是一款非常优秀的代码自动生成工具。以前写过好些基本模版,可惜早不知道扔到哪儿去了,如今只能重新开始,把它捡回来,加油。 效果:将数据库 DataBase 应用...