Fiz uma aplicação utilizando jsp, servlets e applets e utilizo o tomcat como servidor. Acontece que quando o usuário se loga na aplicação o Tomcat cria 3 sessões e na página seguinte a autenticação dá erro pq o serlvet não consegue recuperar a sessao do usuario (uso request.getSession(false)).
Alguém sabe o que pode estar acontecendo.
O detalhe é que isso acontece quando utilizo o endereço por nome da aplicação(www.algumacoisa.com.br) utilizando o ip do servidor mais a porta e a aplicação o tomcat cria apenas uma sessao e funciona perfeitamente.
O código é grande pra postar aqui. Vou colocar as partes onde defino a sessao.
//Primeiro arquivo: ServletLogon
HttpSession sessao = request.getSession(true);
//ai de acordo com o nivel de acesso direciono o usuario para uma determinado pagina. Caso o usuario nao tenha acesso faço:
sessao.invalidate();
//e direciono o usuario para a página inicial informando o pq
//Segundo arquivo: Cursos.jsp
//faço verificação se existe sessao em uso, senão direciono para a pagina inicial
HttpSession sessao = request.getSession(false);
if(sessao==null){
faço o redirecionamento
}
//O problema acontece aqui: SerlvetCursos
//A página Cursos.jsp possui um applet que por sua vez chama um servlet este servlet pega informações da sessao(usuario) para
//poder consultar um banco de dados sql server e devolver os dados para visualização no applet. Então, no servlet faço:
HttpSession sessao = request.getSession(false);
//e tento pegar as informaçoes:
String nome = sessao.getAttribute("nome");
Acontece que quando tento pegar a sessao da um erro:
java.io.IOException: Server returned HTTP response code: 500
Este erro eu consigo retirar fazendo:
HttpSession sessao = request.getSession(true);
Mas não resolvo o problema pois é criada uma nova sessao e perco as informacoes do usuario da aplicação e assim, aparece um novo erro: