如果已经登录,则从login.jsp重定向

Zla*_*roh 3 redirect jsp login

如果注册用户跳转到login.jsp我希望将其重定向到youAreLoggedIn.jsp.这可以用<navigation-rule>吗?我知道如何在PHP中执行此操作,但不在JSP中执行此操作.当用户访问时login.jsp,必须检查用户是否已登录,我知道如何检查.但是如何触发这个动作呢?我应该制作一个新的servlet还是什么?

谢谢!

Bal*_*usC 5

通常的做法是使用一个Filter.刚刚实施javax.servlet.Filter,在定义它web.xml,它映射上url-pattern/login.jsp和写的东西像下面的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);
}
Run Code Online (Sandbox Code Playgroud)

就那么简单.它当然假定登录User已按照正常做法放入会话范围.

也就是说,<navigation-rule>JSF是特定的,但你没有在你的问题和标签中陈述任何关于JSF的内容.你不是混淆了吗?