当前位置: 首页 > 面试题库 >

在HttpSessionListener中时如何获取HttpServletRequest?

黄景胜
2023-03-14
问题内容

如何从SessionListener访问请求标头?

创建当前会话时,我需要在当前会话上设置超时。超时需要根据HttpServletRequest中的标头而有所不同。我已经有一个SessionListener(实现HttpSessionListener),它记录新会话的创建和销毁,这似乎是设置超时的最合逻辑的地方。

我尝试了以下操作,但始终将ctx设置为null。

FacesContext ctx = FacesContext.getCurrentInstance();

问题答案:

HttpSessionListener因为它被调用时没有已请求,通知会议的破坏没有访问请求。

因此,一个FilterServlet更好的地方来检查请求并指定会话超时。



 类似资料:
  • 所有。我看了网页,但没有找到适合我的解决方案。 在会话被销毁之前,我需要从中的globalsession作用域bean访问信息。 在检查会话属性后,我找到了一个解决方案,但它似乎并不顺利: 我还有单例bean,通过目标代理包含会话bean,但通过,对会话bean的引用在它们内部无效(会话bean在调用之前已被销毁) 有没有人知道解决这样的问题的好方法? 我想我们需要类似于的东西,但是对于会话bea

  • 问题内容: 大家好。我试图在HttpSessionListener中获取会话bean,以便在用户注销或会话过期时可以删除用户在应用程序中创建的一些文件。我猜测会话bean不存在,因为会话已被破坏。我希望仍然以某种方式删除这些文件。谢谢您的帮助。 致BalusC:我又回到了您以前想到的方法。在我的应用程序中,将字节流传输给用户并不灵活。我发现我需要在页面上的ajax中做很多事情,如果我必须发送非aj

  • 问题内容: 我想得到 1到24 ,太平洋时间凌晨1点。 如何在Node.JS中获得该号码? 我想知道现在太平洋时间现在几点。 问题答案: 您应该检出Date对象。 特别是,您可以查看Date对象的getHours()方法。 getHours()返回0到23之间的时间,因此请确保相应地进行处理。我认为0-23有点直观,因为军事时间是从0-23开始,但这取决于您。 考虑到这一点,代码将类似于以下内容:

  • 问题内容: 获取当前时间的模块/方法是什么? 问题答案: 采用: 而只是时间: 有关更多信息,请参见文档。 要保存输入,可以datetime从datetime模块中导入对象: 然后datetime.从以上所有位置移除引线。

  • 我已经看过stackoverflow了,甚至看过一些建议的问题,但似乎没有一个答案,如何在C#中获得unix时间戳?

  • 问题内容: 我们有以下课程 和这个 现在,我需要在运行时知道is是否为 。由于这是jpa自动处理的,因此我无法获取此值。 我们正在调用一个带有as参数的方法,我想避免使用它来检查它是什么类型。如果我可以做些类似的事情会更酷 问题答案: 您可以将鉴别符映射为只读属性: