Não achei nos exercícios a resolução da classe Login
Não achei nos exercícios a resolução da classe Login
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