Boa tarde.
Então, eu estou tendo um problema em que não consigo pegar o valor do email na session.
O que houve:
1°- Eu coloquei um frase de bem vindo para aparecer o nome
Bem vindo ao nosso gerenciador de empresas,(aqui o email da pessoa)!
Pois bem,faço o login e não retorna o valor de email para essa frase.
2° -Verifiquei se tava passando o nome do valor que no caso era, "usuarioLogado"
session.getAttribute("usuarioLogado");
fiz os teste pra ver se tava passando um valor nessa session.getAttribute("usuarioLogado"), porém está dando null, so que o estranho é q a session está funcionando e o email esta sendo buscado la no campo de texto
Ai eu queria que alguém me ajudasse a concertar isso,para ficar dessa forma.
Bem vindo ao nosso gerenciador de empresas,teste@gmail.com
Obrigado !
Codigos:
index.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<body>
<if test="${not empty usuarioLogado}">
<h1>Bem vindo ao nosso gerenciador de empresas,${usuarioLogado.email}!</h1>
</if>
<br/>
<form action="fazTudo?tarefa=AdicionarEmpresas" method="post">
Nome: <input type="text" name="AdicionarEmpresas" /><br />
<input type="submit" value="Enviar" />
</form>
<form action="fazTudo?tarefa=BuscaEmpresas" method="GET">
<h3><br>Procurar</br></h3>
Nome da empresa:<input type="text" name="filtro"></input>
<button type="submit">Enviar</button>
</form>
<h3><br>Login</br></h3>
<form action="login" method="POST">
Email:<input type="text" name="email"></input>
<br></br>
Senha:<input type="text" name="senha"></input>
<br></br>
<button type="submit">Login</button>
</form>
<form action="fazTudo?tarefa=Logout" method="post">
<input type="submit" value="Logout" />
</form>
</body>
</html>
Login
package br.com.alura.gerenciador.web;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import br.com.alura.gerenciador.Usuario;
import br.com.alura.gerenciador.dao.UsuarioDAO;
@WebServlet("/login")
public class Login extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
PrintWriter ptw = resp.getWriter();
String email = req.getParameter("email");
String senha = req.getParameter("senha");
// UsuarioDAO usuarioDAO = new UsuarioDAO();
//
// //Coloquei no "UsuarioDados" as informções da busca por email e senha
// Usuario usuario = usuarioDAO.buscaPorEmailESenha(email, senha);
Usuario usuario = new UsuarioDAO().buscaPorEmailESenha(email,
senha);
//Validação de email e senha
if(validarCampoEmail(email) || validarCampoSenha(senha))
{
ptw.print("<p>Campo email ou senha vazio</p>");
}else{
if(!validarFormatoEmail(email)){
ptw.print("<p>Email incorreto</p>");
}else{
//ADICONANDO A CLASSE COOKIE => para email
//Cookie cookie = new Cookie("usuario.logado", email);
//resp.addCookie(cookie);
//USANDO SESSÃO -> HttpSession
HttpSession session = req.getSession();
//colocaremos na secessao ao inves de usar o cookie
session.setAttribute("usuarioLogado",usuario);//setAttribute tem parametros(nome,valor) igual a do Cookies
ptw.print("<p>Usuario logado :"+email+"</p>");
ptw.print("<p>Teste :"+session.getAttribute("usuarioLogado")+"</p>");
//ptw.print("<p>Teste(1) :"+System.currentTimeMillis()+"/"+Math.random()+"</p>");
}
}
}
//VALIDAÇOES
public static boolean validarFormatoEmail(String email)
{
boolean isEmailIdValid = false;
if (email != null && email.length() > 0) {
String expression = "^[\\w\\.-]+@([\\w\\-]+\\.)+[A-Z]{2,4}$";
Pattern pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(email);
if (matcher.matches()) {
isEmailIdValid = true;
}
}
return isEmailIdValid;
}
public boolean validarCampoEmail(String email){
if(email == null || email == ""){
return true;
}
return false;
}
public boolean validarCampoSenha(String senha){
if(senha == null || senha == "" ){
return true;
}
return false;
}
}