java - 收到获取请求时如何防止servlet创建新会话?
问题描述
我的 servlet 中有一个部分,它使用 API 创建一个新会话。由于它在doGet函数中,所以当servlet每次收到get请求时,它也会创建一个新的会话。
只有当第一个获取请求到达时,我才会创建新会话。
解决方案
假设当您说“使用 API 创建新会话”时,您正在调用 Servlet 中的第 3 方 API,并补充 Code_Mode 的答案,您应该在调用此第 3 方 API 之前验证 servlet 中的会话是否刚刚创建。
HttpSession session = request.getSession();
if (session.isNew()) {
// Do your API thing here
}
如果存在一个现有会话并且该会话不是新的,则意味着不是第一次调用 doGet 方法。
干杯!
推荐阅读
- mysql - 带有连接表的 MySQL 外键约束(具有相同外键约束时出错)
- node.js - cookie 未保存在浏览器中 - Nodejs
- python - 为什么我会收到此错误:ValueError:Series 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()
- javascript - 获取身份验证信息后如何在 vue3 中重新初始化 main.js?
- google-sheets - 具有合并列 + 大于日期和小于日期的 SUMIF 数组公式
- python - 无法在 Python 中访问 Widget id
- javascript - Redux-Toolkit:如何拒绝“createAsyncThunk”?
- mysql - MySQL 输出初学者级别
- reactjs - React+Django 部署到 heroku 不读取静态文件
- c# - 即使两个对象相等,C# ''Assert.Equal(book, book1)'' 也会失败