2011-10-12 134 views

回答

2

如何在JSF 2.0無效會話,如果瀏覽器中得到沒有被當前會話失效關閉。

您無法以可靠的方式編程。會話將在30分鐘後自動失效。如果你打開一個新的瀏覽器,那麼將創建一個新的會話,並且以前的會話將不再可用。


,不希望我的用戶使用返回按鈕評估受限用戶的頁面。

您需要在瀏覽器指示,以緩存那些受限制的用戶頁面。

@Override 
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { 
    HttpServletRequest httpReq = (HttpServletRequest) request; 
    HttpServletResponse httpRes = (HttpServletResponse) response; 

    if (!httpReq.getRequestURI().startsWith(httpReq.getContextPath() + ResourceHandler.RESOURCE_IDENTIFIER)) { // Skip JSF resources (CSS/JS/Images/etc) 
     httpRes.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1. 
     httpRes.setHeader("Pragma", "no-cache"); // HTTP 1.0. 
     httpRes.setDateHeader("Expires", 0); // Proxies. 
    } 

    chain.doFilter(request, response); 
} 

這樣的瀏覽器被強制發送一個完整的HTTP請求每次而不是:您可以通過創建它在覆蓋這些頁面,並執行以下任務中doFilter()方法的URL模式映射到一個filter做到這一點顯示來自瀏覽器緩存的頁面。

+0

感謝回覆@BalusC。我已經做到了,但我正在從JSF2.0尋找東西..順便感謝您的幫助。 – ifti

相關問題