Problemas ao recuperar atributo de seção

1 resposta
D

olá pessoal, sou iniciante em Java Web, estou fazendo site muito simples em JSP, a minha dificuldade está em salvar e recuperar um objeto ou variável em uma seção, o caso é o seguinte, faço um login, este login valida o usuário e senha no banco de dados e retorna um booleano TRUE caso o login de certo, mas quando eu dou um get nesta variavel no filtro ele não está como TRUE como deveria estar, o que pode estar errado? os códigos estão abaixo, o primeiro trecho é onde seto o atributo e a segunda é no filter onde busco seu valor, tentei passar o valor boolean fixo como true, mas mesmo assim quando busco no filtro está false.

@Override
	protected void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
			
		String usuario = request.getParameter("usuario");
		String senha = request.getParameter("senha");
		
		LoginDAO ld = new LoginDAO();
		boolean loginOk;
		//loginOk = ld.login(usuario, senha);
		loginOk = true;
			
		request.getSession().setAttribute("loginCorreto", loginOk);		
		
		if (loginOk) {
			RequestDispatcher rd = request.getRequestDispatcher("/home.jsp");
			rd.forward(request, response);			
		} else {
			
		}
				
	}

no filtro, buscando o atributo loginCorreto

@Override
	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {
		
		HttpSession se = ((HttpServletRequest)request).getSession();		
		boolean loginCorreto = (Boolean) se.getAttribute("loginCorreto");		
				
		if (loginCorreto) {
			System.out.println("Login OK");
		} else {
			System.out.println("Erro no login");			
		}
		
		chain.doFilter(request, response);		
		
	}

1 Resposta

henrriquetec
HttpSession se = ((HttpServletRequest)request).getSession(true);          
boolean loginCorreto = (Boolean) se.getAttribute("loginCorreto");

tenta assim

Criado 10 de dezembro de 2011
Ultima resposta 13 de dez. de 2011
Respostas 1
Participantes 2