Boa tarde! <img src="https://cdn.jsdelivr.net/gh/twitter/twemoji@14/assets/72x72/s.pnglight_smile.png?v=6" title=":slight_smile:" class="emoji" alt=":slight_smile:">
Bom, meu problema é, acho eu, bem simples.
Em um Filtro Servlet eu preciso verificar se um determinado arquivo existe ou nao;
- caso positivo, o fluxo da execução continuara normalmente;
- caso negativo, o fluxo devera mudar para uma outra pagina que sera a de configuracao desse arquivo;
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
if(!isApplicationConfigured()) {
HttpServletResponse response = (HttpServletResponse) arg1;
response.sendRedirect("properties.jsf");
return;
} else {
if(HibernateUtil.isEmpty()) {
HibernateConfigure.configure();
}
arg2.doFilter(arg0, arg1);
}
}
O codigo acima serviria justamente para realizar essa verificação mas o problema é que por ele ta filtrando uma pagina .jsf e ele tambem ta redirecionando para uma pagina .jsf, ta caindo em um loop eterno logo, eu gostaria de saber como posso verificar se a pagina da requisição é ou não a mesma para configuração, ou seja, como posso pegar o nome da página dentro de um servlet :?:
Isso é algo que dentro de um PhaseListener é tranquilo tipo:
FacesContext facesContext = event.getFacesContext();
String viewRootId = facesContext.getViewRoot().getViewId();
so que o filtro executa antes do clico JSF por isso, com servlet, ta meio complicado… :shock:
alguém sabe pegar esse mardito nome? :?