tôi có thể tạo bộ lọc này:Làm cách nào để lọc web trong JSF 2?
public class LoginFilter implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpSession session = req.getSession();
if (session.getAttribute("authenticated") != null || req.getRequestURI().endsWith("login.xhtml")) {
chain.doFilter(request, response);
} else {
HttpServletResponse res = (HttpServletResponse) response;
res.sendRedirect("login.xhtml");
return;
}
}
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void destroy() {
}
}
Đây là cấu trúc của tôi:
Và sau đó tôi thêm bộ lọc vào web.xml:
<filter>
<filter-name>LoginFilter</filter-name>
<filter-class>filter.LoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>LoginFilter</filter-name>
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
Các công trình lọc nhưng vẫn giữ cho tôi lỗi này:
"Was not possible find or provider the resource, login"
Và sau đó richfaces của tôi không hoạt động nữa.
Tôi làm cách nào để giải quyết vấn đề này? Hoặc tạo bộ lọc web chính xác?
Đó là thông báo lỗi lạ. Bạn đã dịch nó từ một ngôn ngữ khác? Nó chỉ là lỗi HTTP 404? – BalusC
Tôi làm BalusC, tôi đến từ Brazil, vì vậy lỗi xuất hiện với tôi bằng tiếng Bồ Đào Nha, bạn có biết làm cách nào để thay đổi Eclipse sang tiếng Anh không? Vì vậy, tôi có thể đăng lỗi ban đầu. –
Ngôn ngữ mặc định của Eclipse phụ thuộc vào ngôn ngữ mặc định nền tảng. Vì vậy, nếu hệ điều hành của bạn được đặt thành tiếng Bồ Đào Nha, thì Eclipse sẽ kế thừa cài đặt này. Nhưng bạn có thể ghi đè điều này bằng cách chỉ rõ đối số '-nl [languagecode]' trên 'eclipse.exe'. Ví dụ: 'eclipse.exe -nl en' sẽ đặt thành tiếng Anh. – BalusC