8
respostas

Cade a resolução do Login?

Não achei nos exercícios a resolução da classe Login

8 respostas

Login? esse exercício não seria para migrar a busca por empresas?

Sim, mas não achei onde perguntar, então tive que perguntar aqui mesmo

public class BuscaEmpresa implements Tarefa{

@Override public String executa(HttpServletRequest request, HttpServletResponse response) { String filtro = request.getParameter("filtro"); Collection empresas = new EmpresaDAO() .buscaPorSimilaridade(filtro); request.setAttribute("empresas", empresas); return "/WEB-INF/paginas/buscaEmpresa.jsp"; }

}

Qualquer dúvida pode perguntar

Essa eu ja consegui fazer, preciso do Login.java

package br.com.alura.gerenciador.web;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Map;

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(urlPatterns="/login")
public class Login extends HttpServlet {

    //final static Map<String,Usuario> USUARIOS_LOGADOS = new HashMap<>();

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {



        String email = req.getParameter("email");
        String senha = req.getParameter("senha");
        Usuario usuario = new UsuarioDAO().buscaPorEmailESenha(email, senha);
        PrintWriter writer = resp.getWriter();
        if(usuario==null){
            writer.println("<html><body>Usuario Invalido</html></body>");
        }else{
            HttpSession session = req.getSession();
            session.setAttribute("usuarioLogado", usuario);
            writer.println("<html><body>Usuario Logado : "+ email +"</html></body>");
        }



    }

}

essa implementando a tarefa

Segue minha implementação:

Login.java

package br.com.alura.gerenciador.web;

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;

public class Login implements Tarefa {

    @Override
    public String executa(HttpServletRequest req, HttpServletResponse resp) {
        String email = req.getParameter("email");
        String senha = req.getParameter("senha");
        Usuario usuario = new UsuarioDAO().buscaPorEmailESenha(email, senha);
        if (usuario == null) {
            return "/WEB-INF/paginas/loginInvalido.html";
        } else {
            HttpSession session = req.getSession();
            session.setAttribute("usuarioLogado", usuario);
            session.setMaxInactiveInterval(60);
            req.setAttribute("emailUsuario", usuario.getEmail());
            return "/WEB-INF/paginas/loginValido.jsp";
        }
    }
}

loginInvalido.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Login</title>
</head>
<body>
Usuário ou senha inválida!
</body>
</html>

loginValido.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Login</title>
</head>
<body>
Usuário ${emailUsuario} logado!
</body>
</html>

welington,

Como ficou o seu arquivo index.jsp, com a implementação do Login.java ? Estou encontrando dificuldades em configurá-lo.

Mario

Mario,

Já tem um tempo que fiz esse curso, mas veja se é isso aí:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html>
<body>    
    Bem vindo ao nosso gerenciador de empresas!<br/>
    <c:if test="${usuarioLogado!=null}">
        Você está logado como ${usuarioLogado.email}
    </c:if>
    <br />

    <form action="executa?tarefa=NovaEmpresa" method="post">
        Nome: <input type="text" name="nome" /><br /> 
        <input type="submit" value="Enviar" />
    </form>

    <form action="executa?tarefa=Login" method="post">
        Usuário: <input type="email" name="email" /><br /> 
        Senha: <input type="password" name="senha" />
        <input type="submit" value="Enviar"/>
    </form>

    <form action="executa?tarefa=Logout" method="post">
        <input type="submit" value="Logout" />
    </form>

</body>
</html>

Espero que ajude.

Att,

Wellington

É isso mesmo Wellington, funcionou! Obrigado