【发布时间】:2019-07-15 14:50:52
【问题描述】:
我的 servlet 中有一个部分,它使用 API 创建一个新会话。由于它在doGet函数中,所以当servlet每次收到get请求时,它也会创建一个新的会话。
我只会在第一个 get 请求到达时创建新会话。
【问题讨论】:
标签: java api http session servlets
我的 servlet 中有一个部分,它使用 API 创建一个新会话。由于它在doGet函数中,所以当servlet每次收到get请求时,它也会创建一个新的会话。
我只会在第一个 get 请求到达时创建新会话。
【问题讨论】:
标签: java api http session servlets
Servelet 不会为每个请求创建新会话,除非您添加了一些自定义代码来为每个请求创建新会话。您可以检查会话如下,
HttpSession session = request.getSession();
String sessionId = session.getId();
【讨论】:
假设当您说“使用 API 创建新会话”时,您正在 Servlet 中调用第 3 方 API,并补充 Code_Mode 的答案,您应该在调用此第 3 方之前验证 servlet 中的会话是否刚刚创建API。
HttpSession session = request.getSession();
if (session.isNew()) {
// Do your API thing here
}
如果有一个现有的会话并且这个会话不是新的,这意味着不是第一次调用 doGet 方法。
干杯!
【讨论】: