如何在jsf中应用过滤器

时间:2010-04-12 06:41:46

标签: jsf

我有一个过滤器,当任何客户端在我的Web应用程序中请求JSF页面时,我得到Page not Found错误。我不知道如何解决这个问题。

这是我的过滤器代码:

HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse res = (HttpServletResponse) response;
HttpSession ses = req.getSession(true);
String pageRequested = req.getRequestURL().toString();
if (ses.getAttribute("userDetails") != null) {
    fc.doFilter(request,response);      
} else {
    RequestDispatcher dis = request.getRequestDispatcher(LOGIN_PAGE);
    dis.forward(request,response);
}

我已在web.xml部署描述符中完成了所有必要的设置。

1 个答案:

答案 0 :(得分:0)

404仅表示找不到所请求的资源。到目前为止,这可能有两个原因:

  1. 网址无效(即LOGIN_PAGE无效)。
  2. 资源不在您认为的位置。
  3. 为了进一步确定这一特定问题的原因,我们需要了解两件事:

    1. 当前请求的绝对网址是多少?打印request.getRequestURL()
    2. 您可以在webbrowser中独立打开登录页面的绝对URL是什么?
    3. 然后,您应该能够从此信息中提取正确的LOGIN_PAGE