Je viens de faire un test et mon navigateur me dit : ERR_TOO_MANY_REDIRECTS pour la page /contrat.jsf
Voila mon filtre :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| public class FiltreContrat implements Filter {
private FilterConfig filterConfig = null;
private String pageContrat;
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
User u = (User )((HttpServletRequest)request).getSession().getAttribute("user");
//User u = (User)FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("user");
pageContrat = "/contrat.jsf";
MyLog4j.logger.debug(pageContrat);
String contextPath = ((HttpServletRequest)request).getContextPath();
if (u==null) {((HttpServletResponse)response).sendRedirect(contextPath + pageContrat);}
else {
if (!u.isStatutContrat()) {
((HttpServletResponse)response).sendRedirect(contextPath + pageContrat);
}
}
chain.doFilter(request, response);
}
@Override
public void destroy() {
// TODO Auto-generated method stub
this.filterConfig = null;
}
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
MyLog4j.logger.debug("FiltreContrat init");
this.filterConfig = arg0;
}
} |
et dans la console, j'ai un paquet de ligne de retour comme si cela bouclait
MyLog4j.logger.debug(pageContrat);
et si j'utilise
User u = (User )((HttpServletRequest)request).getSession().getAttribute("user");
J'ai une exeption :
1 2
| java.lang.NullPointerException
com.site.filters.FiltreContrat.doFilter(FiltreContrat.java:26) |
mes beans sont déclarés dans le face-config.xml
Partager