Sessão não esta passando entre os Servlets

5 respostas
Romildo_Paiter

Ola pessoal tudo bem.. fiz uma aplicação de login, e no final descobri que a sessão que criei não estava passando entre os SERVLET.

Fiz uma pequena, representação entre 2 códigos simples, possível gostaria de saber onde estou errando e o que ficou faltando.

Esses dois codigo estão dentro do mesmo pacote.

public class ServletCriaSessao extends HttpServlet {
	protected void doGet(HttpServletRequest p_request, HttpServletResponse p_response) 
		throws ServletException, IOException {
		// TODO Auto-generated method stub
		
		// Cria a Seção
		HttpSession r_session = p_request.getSession(true);
		r_session.setAttribute("NOME", "Nome a ser passado");
		
		// Cria as saida de impressão
		PrintWriter r_pw = p_response.getWriter();
		r_pw.println("<html><body>");
		r_pw.println("<a href=\"/Servlet&JSP/CapturaSessao\">Captura Sessões</a>");
		r_pw.println("</body></html>");
		r_pw.flush();		
	}
}
public class CapturaSessao extends HttpServlet {
	protected void doGet(HttpServletRequest p_request, HttpServletResponse p_response) 
		throws ServletException, IOException {

		// Cria a Seção
		HttpSession r_session = p_request.getSession(false);
		String nome = (String) r_session.getAttribute("NOME");
		
		// Cria as saida de impressão
		PrintWriter r_pw = p_response.getWriter();
		r_pw.println("<html><body>");
		r_pw.println("<p>"+ nome +"</p>");
		r_pw.println("</body></html>");
		r_pw.flush();
	}
}

Estou trabalhando em Localhost. Alguem tem uma ideia do que pode ser o porque não esta fazendo a passagem entre esses dois Servlet.

Obrigado a todos

att

Romildo Jozue Paiter

5 Respostas

fesaab

O seu navegador está habilitado para receber cookies?

Pois o id da sessão é armazenado em cookies pelo seu servidor web…

O código parece estar certo…

peczenyj

HUM…

redireciona para uma pagina que tenha um link para a Captura Sessão.

cria sessão -> pagina intermediaria -> pagina que lê da sessão

ve se surte efeito.

Romildo_Paiter

E ai pessoal, não dada disso surtiu muito efeito.

é só isso mesmo não tem nada mais para habiltar a session???

Valew pessoal Obrigado, ainda aguardo umas repostas positivas.

Falow.

skalinichenko

Tenta implementar o método service, ao invés do doGet que vc implementou.
Ou implementa o doPost, ao invés do doGet.
Sempre implementei o service e nunca tive problemas.
Isso conta, porque se vc faz post, doPost.
Flw!

fesaab

tente setar o timeout da tua sessão quando cria ela...
(acho improvável mas pelo jeito qualquer ajuda é bem vinda...)

public class ServletCriaSessao extends HttpServlet {
	protected void doGet(HttpServletRequest p_request, HttpServletResponse p_response) 
		throws ServletException, IOException {
		// TODO Auto-generated method stub
		
		// Cria a Seção
		HttpSession r_session = p_request.getSession(true);
        r_session.setMaxInactiveInterval(15*60); //a sessão irá poder ficar no máximo 15 minutos inativa
		r_session.setAttribute("NOME", "Nome a ser passado");
		
		// Cria as saida de impressão
		PrintWriter r_pw = p_response.getWriter();
		r_pw.println("<html><body>");
		r_pw.println("<a href=\"/Servlet&JSP/CapturaSessao\">Captura Sessões</a>");
		r_pw.println("</body></html>");
		r_pw.flush();		
	}
}
Criado 5 de abril de 2010
Ultima resposta 5 de abr. de 2010
Respostas 5
Participantes 4