如何從SessionListener訪問請求標頭?如何在HttpSessionListener中獲取HttpServletRequest?
我需要在創建時在當前會話上設置超時。超時需要根據HttpServletRequest中的頭部而有所不同。我已經有了一個SessionListener(實現HttpSessionListener)來記錄新會話的創建和銷燬,而且它似乎是設置超時的最合理的地方。
我試過以下,但它總是將ctx設置爲null。
FacesContext ctx = FacesContext.getCurrentInstance();
「您甚至可能會對同一個會話發出併發請求,所以這不可行。」我不同意!只有一個請求會導致會話被創建爲「sessionCreated」被觸發。這是規範中的一個疏忽......對於「sessionCreated」方法,您應該能夠找出哪個請求創建了會話! – 2013-08-13 10:00:57