मैं यह फ़िल्टर बनाता हूं:जेएसएफ 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() {
}
}
यह मेरी संरचना है:
और फिर मैं 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>
फ़िल्टर के रूप में काम करता है यह मुझे यह त्रुटि दे रहा है:
"Was not possible find or provider the resource, login"
और उसके बाद मेरे richfaces अब और काम नहीं करता है।
मैं इसे कैसे हल कर सकता हूं? या एक वेब फिल्टर सही ढंग से बनाएँ?
यह एक अजीब त्रुटि संदेश है। क्या आपने इसे दूसरी भाषा से अनुवादित किया था? क्या यह सिर्फ एक HTTP 404 त्रुटि है? – BalusC
मैं बलुस करता हूं, मैं ब्राजील से हूं, इसलिए मुझे पुर्तगाली में त्रुटि दिखाई देती है, क्या आप जानते हैं कि मैं ग्रहण को अंग्रेजी में कैसे बदलूं? तो मैं मूल त्रुटि पोस्ट कर सकता था। –
ग्रहण की डिफ़ॉल्ट भाषा प्लेटफार्म डिफ़ॉल्ट लोकेल पर निर्भर है। तो यदि आपका ओएस पुर्तगाली पर सेट है, तो ग्रहण इस सेटिंग का उत्तराधिकारी होगा। लेकिन आप 'eclipse.exe' पर '-nl [languagecode]' तर्क निर्दिष्ट करके इसे ओवरराइड कर सकते हैं। उदा। 'Eclipse.exe -nl en' इसे अंग्रेजी में सेट करेगा। – BalusC