如果注册用户跳转到login.jsp
,我希望将其重定向到youAreLoggedIn.jsp
。
这可以用<navigation-rule>
制作吗?我知道如何在PHP中执行此操作,但不在JSP中执行此操作。
当用户访问login.jsp
时,必须检查用户是否已登录,我知道如何检查。但是如何触发这个动作呢?我应该制作一个新的servlet还是什么?
谢谢!
答案 0 :(得分:5)
通常的做法是使用Filter
。只需实施javax.servlet.Filter
,在web.xml
中进行定义,将其映射到url-pattern
的{{1}},然后在/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);
}
放入会话范围。
那就是说,User
是特定于JSF的,但你没有在你的问题和标签中陈述任何关于JSF的内容。你不是在混淆事情吗?