Pegando uma variavel de sessao

8 respostas
batista.gerson

Senhores boa tarde.

Me tirem uma duvida ou me deem uma ideia.
to precisando pegar uma variavel de sessao.
Exemplo: quando o carinha logar no sistema eu tenho
pegar o login(CPF) e usar em outro servlet que verifica
que faz uma consulta atraves do login do cara.

Login

...
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		String cpf = request.getParameter("login");
		String senha = request.getParameter("senha");
		String loginn = null;
		String senhaa = null;
		try {
			Class.forName("org.postgresql.Driver");
			Connection con = DriverManager.getConnection("jdbc:postgresql://10.20.1.215:5432/simulado", "sa_simulado","sa_simulado");
			Statement stm = con.createStatement();
			String SQL = "select * from candidato where cpf ='"+cpf+"' and senha ='"+senha+"';";
			ResultSet rs = stm.executeQuery(SQL);
			while (rs.next()) {
				 loginn= rs.getString("cpf");
				 senhaa= rs.getString("senha");
				 
			}
    	} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		System.out.println(loginn);
		System.out.println(senhaa);
		System.out.println(cpf);
		System.out.println(senha);
		if (cpf.equals(loginn.trim()) && senha.equals(senhaa.trim())) {
			response.sendRedirect("cartaoresposta.jsp");
		} else {
			RequestDispatcher dispatcher = request.getRequestDispatcher("negado.jsp");
		    dispatcher.forward(request, response);
		}

	}

Servlet onde devo pegar o login

public void enviaResultado(int acertos, int erros, float aproveitamento)throws Exception {
		String smtp = "smtp.expresso.am.gov.br";
		String to = AQUI Q EU TENHO Q FAZER A CONSULTA PELO LOGIN
		String from = "[email removido]";
		String assunto = "Resultado - Simulado Enem - Aviso importante!";
		String corpo = "Prezado candidato, o seu aproveitamento foi de:";
		corpo = corpo+ "\n------------------------------------------------------------";
		corpo = corpo+ "\nQuantidade de Acertos: " +acertos;
		corpo = corpo+ "\nQuantidade de Erros: " + erros;
		corpo = corpo+ "\nAproveitamento: " + aproveitamento+"%" ;
		corpo = corpo+ "\n------------------------------------------------------------";
		//corpo = corpo+ "\nData da realização do Simulado: " + prova.pesquisaDataProva();
		//corpo = corpo+ "\n------------------------------------------------------------";
		//corpo = corpo+ "\nClique no link para realizar o download da prova: www.prodam.com.br";
		//corpo = corpo+ "\n------------------------------------------------------------";
		// corpo = corpo
		// +"\nApós logar no sistema, altere a senha para uma de sua escolha.";
		corpo = corpo+ "\nNão responda essa mensagem, ela foi gerada automaticamente";
		corpo = corpo+ "\n------------------------------------------------------------";
		corpo = corpo+ "\nSistema Simulado Enem";
		GerarEmail.getInstance().gerarEmail(smtp, to, from, assunto, corpo);
	}

8 Respostas

marcosharbs
request.getSession.setAttribute("chave", objeto);   
request.getSession.getAttribute("chave");

pronto vc tem como parametro um objeto request nos metodos doGet e doPost com ele vc consegue pegar a sessao e setar e buscar objetos nela

batista.gerson

Valeu

marcosharbs

vou testar!!!
depois post dizendo s funcionou.

batista.gerson

Nao deu certo nao sei o q coloquei d errado!

edmarr

Esta linha vc coloca no servlet de onde vc fez a pesquisa dos seus dados .

request.getSession.setAttribute("chave", objeto);

Esta outra linha no servlet que vc quer ultilizar a variavel .

object   obj request.getSession.getAttribute("chave");
batista.gerson

foi isso msm q eu fiz
no login

...
if (cpf.equals(loginn.trim()) && senha.equals(senhaa.trim())) {
			request.getSession().setAttribute("cpf",cpf); 

...

no outro servlet

dentro do post

Object teste=  request.getSession().getAttribute("cpf");
batista.gerson

[size=18]Vlw

limpei o projeto e funcionou

Vlw a todos pela atencao.[/size]

edmarr

Esta satisfeito com as respostas ,
Não Esqueça de editar o Título adicionando a tag [RESOLVIDO] , Depois tirar suas duvidas.

batista.gerson

Vlw

limpei o projeto e funcionou

Vlw a todos pela atencao.

PROTINHO.

Criado 27 de agosto de 2009
Ultima resposta 27 de ago. de 2009
Respostas 8
Participantes 3