嗨,我正在開發使用struts和jsp的應用程序。在jsp中我們使用Ajax調用,會話超時後,我們正在重定向到登錄頁面。但問題是登錄頁面顯示相同的div標籤。我在會話中檢查用戶是否在jsp的javascript中,但總是會話具有userid值,如果會話過期,則它永遠不會爲空。如何在jsp會話超時後重定向到登錄頁面?
0
A
回答
3
兩件事情
- 在web.xml
- 配置一個歡迎頁面,登錄頁面創建一個過濾器,在web.xml配置,這應該是第一個在web.xml
- 在過濾器檢查過濾器,如果會話是新的用戶應被引導到登錄頁面,否則應該將請求處理。
0
每一次新的請求到來時,你應該檢查,並在服務器端驗證會話。 此超時由Web服務器處理。一旦發生超時,服務器自動將用戶重定向到session logout URL
。您可以在服務器的conf文件中更改此配置。
欲瞭解更多信息請參閱this
+0
喜。實際上在web.xml中,我將會話超時設置爲5分鐘,當用戶以語法方式登錄時,我將會話超時更改爲9分鐘。我的問題是,當會話過期時,我可以重定向到登錄頁面。但它是jsp中的ajax請求,所以登錄頁面在同一個jsp的side div標記中呈現。 – 2012-04-24 06:55:45
1
最近我做了一個關於本教程完全相同。也許它可能會有所幫助。與abhi提出的解決方案是一樣的,但有一個例子。
http://classfoundexception.blogspot.com.es/2012/04/how-to-secure-struts-13-application.html
0
爲了處理會話超時/過期的AJAX調用請求,並派遣其到登錄頁面的步驟如下。
1)在你的JSP無論AJAX功能都寫你的Ajax發送請求之前,設置一個頭。
req.open("POST", Servlet_PATH, true);
req.setRequestHeader("X-Requested-With", "XMLHttpRequest"); //set header
req.send();
2)在過濾器中獲得的標題像這樣,如果會話是空發送作爲響應錯誤
httpRequest.getHeader("X-Requested-With");
if (session == null) {
`if(httpRequest.getHeader("X-Requested-With")!=null && httpRequest.getHeader("X-Requested-With").equals("XMLHttpRequest")){`
`logger.info("Ajax Expired...");`
`((HttpServletResponse)response).sendError(403);` // Response error set
`return;`
`}}`
3)在JSP徘徊無論AJAX代碼被寫入校驗request.readystate和請求。國家這樣
if (req.readyState==4 && req.status==200)
{
//your logic
}
else if(req.readyState==4 && req.status==403){
alert("Your Session is Expired.Please Relogin.");
window.location.href = "<%=request.getContextPath()%>/jsp/login.jsp";
}
相關問題
- 1. 在會話超時後自動重定向到登錄頁面 - JSP,Spring
- 2. 重定向到登錄頁面後會話超時
- 3. 當會話超時,然後自動重定向到jsp登錄頁面
- 4. 會話超時重定向到登錄頁面在Silverlight
- 5. ASP.NET Core在會話超時後未重定向到登錄頁
- 6. 如何在會話超時後重定向到指定頁面
- 7. Rails會話超時並重定向到登錄頁面
- 8. 重定向Silverlight在會話超時登錄頁面
- 9. 「如何檢測會話超時並重定向到登錄頁面在ASP.NET中」
- 10. 如何在jsp登錄後重定向到同一頁面?
- 11. Weblogic會話超時重定向登錄頁面
- 12. SP會話超時後將用戶重定向到登錄頁面
- 13. 在會話過期後重定向到登錄頁面
- 14. Spring Security&ExtJS - 在會話超時時重定向到登錄頁面
- 15. 自動重定向到會話超時後登錄
- 16. 重定向到會話超時後登錄
- 17. 如果會話爲空,如何重定向到登錄頁面
- 18. Symfony重定向到會話過期後的登錄頁面
- 19. 沒有重定向到登錄頁面時,會話超時與ajax調用
- 20. 如何重定向到登錄頁面是會話experies
- 21. 如何在會話過期後重定向jsp頁面?
- 22. ASP.net:會話在重定向後向後登錄頁面時不起作用
- 23. 註銷重定向用戶到登錄頁面後再次用戶嘗試再次登錄時,會話超時
- 24. 如何在頁面刷新後重定向到登錄頁面
- 25. 當會話過期時,ASP.NET MVC重定向到登錄頁面
- 26. 會話過期時重定向到登錄頁面+ silex
- 27. 會話在Backbone.js中過期後,如何自動重定向到登錄頁面?
- 28. 如何在jsp登錄後重定向到相同的網頁
- 29. 如何在多個頁面上創建的任何會話的會話時間重定向到登錄頁面?
- 30. JSF 2 +彈簧3 +四郎 - 會話超時不重定向到登錄頁面
您好abhi,我的問題是它重定向登錄頁面,但登錄頁面顯示在相同的jsp rquested ajax DIV標籤。 – 2012-04-24 08:45:17
嗨哈里,當你擊中任何jsp/servlet時,在那裏使用重定向,試一下如果可行的話! – abhi 2012-04-24 10:52:05