2010-02-04 230 views
1

我作爲顯示消息

<session-config> 
    <session-timeout> 1 </session-timeout> 
</session-config> 

所以現在設置會話超時在web.xml中應用如果用戶試圖做一些操作我想顯示一個消息,說會話過期後「會話過期重新登錄」。如何在Java中這樣做?

回答

1

我發現了一些解決方案,這個問題通過輸入以下到谷歌:

「Java會話過期消息」

這裏有一個解決方案從網上覆制:

創建SessionTimeout.java過濾器 ,並在web.xml文件中分配過濾器a /app/*.jsp 模式。這個 將導致我的過濾器被調用 每個請求(即當用戶在30分鐘後點擊 按鈕)。排除 主要頁面(login/login.jsp) 這個過濾器因此可以建立一個新的會話可以 。過濾器 的代碼非常簡單:

public class SessionTimeout implements Filter{ 
    RequestDispatcher rd = null; 

    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) 
    throws IOException, ServletException{ 
     HttpServletRequest req = (HttpServletRequest)request; 
     HttpSession session = req.getSession(); 

    // New Session so forward to login.jsp 
    if (session.isNew()){ 
    requestDispatcher = request.getRequestDispatcher("/login/login.jsp"); 
    requestDispatcher.forward(request, response); 
    } 

    // Not a new session so continue to the requested resource 
    else{ 
     filterChain.doFilter(request, response); 
    } 
} 

public void init(filterConfig arg) throws ServletException{} 
public void destroy(){} 

}