Galera, tudo bem?
Estou aprendendo a utilizar filters em minha aplicação. O problema é que eu coloquei para filtrar arquivos .jsp para que seja visto se o usuario tem uma sessão valida ou não. Mas o filter não esta deixando a pagina ser exibida, aparece uma pagina em branco, mesmo se o usuario tiver uma sessão valida.
Gostaria que vocês olha-se a minha logica de programação para ver se tem algum erro ou dar alguma sugestão.
XML
...
<servlet>
<description></description>
<display-name>MeuFiltro</display-name>
<servlet-name>MeuFiltro</servlet-name>
<servlet-class>br.pronto.atendimento.servlet.MeuFiltro</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MeuFiltro</servlet-name>
<url-pattern>/MeuFiltro</url-pattern>
</servlet-mapping>
<filter>
<filter-name>MeuFiltro</filter-name>
<filter-class>br.pronto.atendimento.servlet.MeuFiltro</filter-class>
<init-param>
<param-name>param1</param-name>
<param-value>valor1</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>MeuFiltro</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>MeuFiltro</filter-name>
<servlet-name>MeuFiltro</servlet-name>
</filter-mapping>
...
Filtro
public class MeuFiltro implements Filter {
private FilterConfig filterConfig;
public void init( FilterConfig filterConfig ) {
this.filterConfig = filterConfig;
}
public void destroy() {
System.out.println("Filtro destruído!");
}
@Override
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain filter) throws IOException, ServletException {
System.out.println("Filtro iniciado!");
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
ConfUsua confUsua = new ConfUsua();
confUsua.Sessao(request, response);
}
Valida Sessão.
public class ConfUsua {
HttpSession sessao;
Usuario usuario = null;
String pagina = "login.html";
public void Sessao(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
sessao = request.getSession(false);
if(sessao != null)
{ usuario = (Usuario) sessao.getAttribute("usuario");
if(sessao.getAttribute("id") != sessao.getId())
{
response.sendRedirect(DirecionaPagina());
}
}
else
response.sendRedirect(DirecionaPagina());
}
public String DirecionaPagina(){
return pagina;
}
}