如果注册用户跳转到login.jsp
我希望将他重定向到 youAreLoggedIn.jsp
.
这可以用 <navigation-rule>
制作吗? ?我知道如何在 PHP 中执行此操作,但不知道如何在 JSP 中执行此操作。
当用户访问login.jsp
它必须检查用户是否登录,我知道如何检查。但是如何触发这个 Action 呢?我应该制作一个新的 servlet 还是什么?
谢谢!
最佳答案
通常的做法是使用 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);
}
就这么简单。它当然假设已登录 User
按照正常做法被放入 session 范围内。
也就是说,<navigation-rule>
是 JSF 特定的,但您没有在您的问题或标签中说明任何关于 JSF 的信息。你不会把事情搞混吗?
关于jsp - 如果已经登录,则从 login.jsp 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2318374/