我在我的項目中使用了jsp技術。我想在我的登錄表單中進行會話跟蹤 。 註銷後,當我按回按鈕它應該顯示 會話已過期。請幫助我。如何實現jsp頁面的會話跟蹤
1
A
回答
1
您不需要手動執行此操作。 servletcontainer將爲你做。您可以通過HttpServletRequest#getSession()
訪問跟蹤的會話。您只需將登錄用戶設置爲會話屬性即可。
request.getSession().setAttribute("user", user);
讓其餘的代碼攔截。您通常使用Filter
。
if (request.getSession().getAttribute("user") == null) {
// Not logged in. Redirect to login page.
response.sendRedirect("login.jsp");
} else {
// Logged in. Just continue request.
chain.doFilter(request, response);
}
當您調用註銷時,只需從會話中刪除用戶。
request.getSession().removeAttribute("user");
servletcontainer也會管理會話過期。當它到期時,HttpSession
將被簡單地刪除,包括它的所有屬性。
至於後退按鈕的問題,只是指示客戶端不緩存響應,以便它被迫啓動一個全新的請求,然後通過Filter
。這個客戶端指令需要通過相應地設置響應頭來進行。這也可以在Filter
中完成。
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
response.setHeader("Pragma", "no-cache"); // HTTP 1.0.
response.setDateHeader("Expires", 0); // Proxies.
0
首先,會話創建和銷燬:
執行sessionCreated(HttpSessionEvent se)
帶有輸出,告訴您已創建會話。
執行sessionDestroyed(HttpSessionEvent se)
帶有輸出,告訴您會話已被銷燬。也就是說,用戶已註銷,或者用戶的會話已過期。
現在,中間部分。對於該過濾器,使用filter,對應的web.xml
條目爲*.jsp
。在過濾器內部,使用doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
。將ServletRequest
轉換爲HttpServletRequest
。使用該請求,您可以使用許多方法來進行會話跟蹤。用戶的憑據,訪問URL,基本上所有可能感興趣的內容。
相關問題
- 1. 會話跟蹤
- 2. 如何跟蹤JSP
- 3. JSP/Servlets會話+ PHP:跟蹤會話 - JSON /數據庫或HttpSessionListener?
- 4. 會話跟蹤Servlet
- 5. SIP會話跟蹤
- 6. Java會話跟蹤
- 7. 如何在JSP頁面中跟蹤時間
- 8. 錯誤頁面 - 如何在JSP中打印堆棧跟蹤
- 9. J2ee的會話跟蹤
- 10. 跟蹤的Oracle會話
- 11. 如何跟蹤會話創建
- 12. 會話如何跟蹤多個用戶
- 13. Spring Security Form Authentication:如何跟蹤會話?
- 14. 如何實現的Marketo跟蹤代碼
- 15. 如何跟蹤Glassfish實例中的會話數量?
- 16. 如何跟蹤人們關閉瀏覽器的頁面。會話或日誌
- 17. 使用會話變量跟蹤重定向頁面
- 18. 使用會話跟蹤
- 19. Hibernate會話跟蹤對象
- 20. 如何實現會話超時頁面使用asp.net mvc的
- 21. NHibernate如何實現更改跟蹤?
- 22. 如何實現一個跟蹤欄
- 23. 如何實現對象修改跟蹤
- 24. 如何實現NSLog跟蹤CGPoint座標
- 25. 如何實現一個可以統計頁面瀏覽量的跟蹤像素?
- 26. Google如何跟蹤動態頁面?
- 27. 如何跟蹤刷新頁面
- 28. 如何跟蹤講話
- 29. 如何跟蹤PHP文件callstack用於呈現頁面?
- 30. 跟蹤Cookie而非JS的跟蹤器用戶會話Like Google