我在我的项目中创建了一个HttpSessionListener。在此监听器中,我在 session 中设置了如下内容:
public void sessionCreated(HttpSessionEvent se) {
//some Business for access to subsiteId
se.getSession().setAttribute("subsiteId", subsiteId);
//set some atribute for Statistic Model
iStatisticService.save(remoteIp, userAgent, page);
}
在我的GenericSave(我的StatisticService扩展它)中,我想读取我已经在SessionListener中设置的subsiteId Attribute:
((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest().getAttribute("subsiteId")
但是我的应用程序陷入循环。再次回到我的听众身边! 我想我在 session 完全创建之前就可以访问它。 有什么想法吗?
最佳答案
最后,我通过在sessionCreated中设置统计模型的属性并将统计模型保存在sessionDestroyed中来解决这个问题:
@Override
public void sessionCreated(HttpSessionEvent se) {
//set some atribute for Statistic Model
}
@Override
public void sessionDestroyed(HttpSessionEvent se) {
//save Statistic Model
}
关于java - Spring HttpSessionListener 陷入循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35308776/