Estou exatamente com o mesmo problema e queria saber se xiste alguma outra solução para isso.
Se eu não me engano, uma vez vi em um artigo que alguma coisa pode ser configurada no arquivo web.xml para que uma determinada pagina seja a pagina de entrada da aplicação, sendo essa exluida de qualquer filtro ou controle. Só que eu não me lembro como faz. Alguém pode ajduar?
Aproveitando o post, deixa eu tirar outra duvida do mesmo assunto…
Se no mapeamento do filtro eu fizer assim:
<filter-mapping>
<filter-name>ControleAcesso</filter-name>
<url-pattern>*</url-pattern>
</filter-mapping>
Ele estaria passando pelo filtro antes de qualquer coisa? Por exemplo pra abrir uma imagem, um servlet, ou qualquer outra coisa?
Como eu mapeio um unico filtro pra mais de uma url-pattern ? por exemplo, eu quero que esse filtro seja pra *.jsp, pra *.htm e pra *.html por exemplo.
Estou com mais um probleminha, quando eu uso minha action /logout, a qual remove o usuario da session e executa um session.invalidate() e redireciona pra pagina de login…
Após isso feito, se na barra de endereços eu digitar /jsp/main.jsp ele abre a pagina main com a session antiga que já foi invalidada. porque o browser num faz um refresh do jsp. Se eu der um refresh na pagina main.jsp aí sim ela volta pra pagina de login por causa do filtro.
Vamos supor que antes de dar o login e o logout minha session id éra 11111111. Quando eu dou o logout e volto pra pagina de login meu novo session id está lá como por exemplo 222222222. Aí quando pela barra de endereço eu acesso o main.jsp ele tá lá com o session id 11111111. Se eu der um refresh ele volta pra pagina de login com o id 222222222. Daí depois de dar o refresh eu num consigo mais entrar na main.jsp pela barra de endereço.
Existe alguma forma de isso não acontecer? Ou isso é normal?
Valew.