我的servlet中有一部分,它使用API创建了一个新会话。由于它在doGet函数中,因此每当servlet收到get请求时,它也会创建一个新会话。
仅当第一个获取请求到达时,我才会创建新会话。
答案 0 :(得分:0)
Servelet不会在每个请求上创建新会话,除非您添加了一些自定义代码以在每个请求上创建新会话。您可以按以下方式检查会话,
HttpSession session = request.getSession();
String sessionId = session.getId();
答案 1 :(得分:0)
假设当您说“使用API创建新会话”时,您正在Servlet中调用第三方API,并补充了Code_Mode的答案,那么您应该在调用此第三方之前验证Servlet中的会话是否刚刚创建API。
var resultToReturn = (from i in lstOverview
select new string[]
{
i.num.ToString(),
i.name,
DataAccess.data.getGameType(i.type),
i.dateComingOut.Value.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture),
i.userLastUpdated.ToString(),
i.freeOrPay.ToString(),
$"<div><a href='{editLink + "/" + i.id}' class='btn btn-primary'>Edit</a></div>"
}).ToArray();
如果存在一个现有会话且该会话不是新会话,则意味着这不是第一次调用doGet方法。
干杯!