如何从SessionListener访问请求 header ?

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

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

FacesContext ctx = FacesContext.getCurrentInstance();

最佳答案

HttpSessionListener无权访问该请求,因为在未发出任何请求时会调用Filter来通知 session 破坏。

因此,Servlet或ojit_code将是检查请求并指定 session 超时的更好的位置。

09-11 17:35