3
如果註冊用戶跳轉到login.jsp
我希望將他重定向到youAreLoggedIn.jsp
。 這是否可以用<navigation-rule>
?我知道如何在PHP中執行此操作,而不是在JSP中執行此操作。 當用戶訪問login.jsp
它必須檢查用戶是否登錄,我知道如何檢查。但是如何觸發這個動作呢?我應該創建一個新的servlet還是什麼?如果已經登錄,則從login.jsp重定向
謝謝!
如果註冊用戶跳轉到login.jsp
我希望將他重定向到youAreLoggedIn.jsp
。 這是否可以用<navigation-rule>
?我知道如何在PHP中執行此操作,而不是在JSP中執行此操作。 當用戶訪問login.jsp
它必須檢查用戶是否登錄,我知道如何檢查。但是如何觸發這個動作呢?我應該創建一個新的servlet還是什麼?如果已經登錄,則從login.jsp重定向
謝謝!
通常的做法是使用Filter
。只實現javax.servlet.Filter
,在web.xml
定義它,它映射上/login.jsp
的url-pattern
和寫東西像doFilter()
方法如下:
if (((HttpServletRequest) request).getSession().getAttribute("user") != null) {
// User is logged in, redirect to desired page.
((HttpServletResponse) response).sendRedirect("youAreLoggedIn.jsp");
} else {
// Do nothing, continue request.
chain.doFilter(request, response);
}
這麼簡單。它當然假設登錄的User
已按照常規做法放入會話範圍。
也就是說,<navigation-rule>
是JSF特有的,但是你沒有在你的問題和標籤中說明任何有關JSF的內容。你不是在搞混嗎?
完美的作品!謝謝! ''我用於主菜單和錯誤。所以我認爲它會適用於它。 –
Zlatoroh
2010-02-23 14:24:29
換句話說,你實際上使用JSF?然而奇怪的是,你總是提到JSP。請了解JSP的用途和JSF的用途,並在將來的問題中考慮到這一點。根據您是否使用JSF的情況,可能有不同的方法來解決特定的問題。 – BalusC 2010-02-23 14:29:35