Login em JSP + Servlet + conexao com Mysql

29/04/2017

0

Galera, estou fazendo um site onde estou usando JSP, Servlet e conex'ao com MySql, problema [e no momento do usuario passar os dados ~login e senha~, quero puxar do BD e retornar o login na proxima pagina e em outras. n'ao sei direito mais pesquisei bastante sobre isso e achei algo com session. Me ajudem por favor.

Aqui esta o arquivo do login.jsp

<form name="login" method="post" action="Logar">
<input type="text" class="text" value="Digite seu login" name="email" onfocus="this.value = '';"
onblur="if (this.value == '') {this.value = 'Digite seu login';}" >
<input type="Password" value="Password" name="senha" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = 'Password';}">
<br>
<label id="submit"/><a><input type="submit" value="Login" /></a></label>
<br>
<h3><label id="button"/><a href="index_Cadastro.jsp">Novo cadastro</a></label></h3>
<div class="clearfix"></div>
</form>





Aqui esta o arquivo do logar (servlet)



package control;

import java.io.IOException;
import java.io.PrintWriter;
import static java.lang.System.out;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import model.Usuario;
import persistence.UsuarioController;


@WebServlet(name = "Logar", urlPatterns = {"/Logar"})
public class Logar extends HttpServlet {


protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {

} finally {
out.close();
}
}

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

String username = request.getParameter("email");
String senha = request.getParameter("senha");


RequestDispatcher rd = null;

Usuario user = new Usuario();
user.setEmail(username);
user.setSenha(senha);


UsuarioController uc = new UsuarioController(user);

try {
if(uc.verificaUsuario())
{
//Caso login e senha estejam corretos...
if(username.equals("usuario") && senha.equals("pass")){

HttpSession session = request.getSession(true);

session.setAttribute("usuario",username);
session.setAttribute("pass",senha);

out.println("Bem vindo."+ username +"."); //Mostra na tela que foi logado com sucesso

session.putValue("loginUsuario", session.getAttribute("usuario")); //Grava a session com o Login
session.putValue("senhaUsuario", session.getAttribute("pass")); //Grava a session com a Senha

//out.println("<script>document.location.href='tela_download.jsp';</script>"); //Exibe um código javascript para redireionar ao painel
request.setAttribute("msg", username);
request.getRequestDispatcher("tela_download.jsp").forward(request, response);

}
/*request.setAttribute("msg", usuario);
rd=request.getRequestDispatcher("tela_download.jsp");
rd.forward(request,response);*/
}
else
{
request.setAttribute("msg", "Usuário ou Senha inválidos");
rd=request.getRequestDispatcher("index_login.jsp");
rd.forward(request,response);

//Se estiverem incorretos...
// out.println("Login ou senha inválidos. <a href='java script:back()'>Voltar</a>"); //Exibe na tela e pede para voltar
}
} catch (Exception ex) {
Logger.getLogger(Logar.class.getName()).log(Level.SEVERE, null, ex);
}
}

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response);
}

@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}





Aqui esta o arquivo do logado.jsp






<%
//Verifica se está logado
if(session.getValue("loginUsuario") != null || session.getValue("senhaUsuario") != null){
out.println(

%>
</head>
<body>
<div class="login-cadastro">
<nav>
<ul class="login-list">
<li><% session.getValue("loginUsuario") + %> ${msg }</li>
<li style="">|</li>
<li><% "<a href='index.jsp'>SAIR</a>;");
}
else {
out.println("Você não está logado no sistema.<a href='index_login.jsp'> Clique aqui para logar-se </a>");
}
%></li>
</ul
</nav>
</div>









Aqui esta o arquivo do UsuarioBD ( minha conexao com BD MySql )




import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import model.Usuario;

public class UsuarioController {


PreparedStatement stmt;
ResultSet rs;
Connection con;

private final String URL = "jdbc:mysql://localhost:3306/tutorial";
private final String USER = "root";
private final String PASS = "";


private Usuario usuario;

public UsuarioController(Usuario usr)
{

usuario=usr;
}

public boolean verificaUsuario() throws Exception{

Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection(URL, USER, PASS);

if(usuario.getEmail()!=null && usuario.getSenha()!=null)
{
try
{


String strsql="SELECT * FROM cadastro WHERE email = ? and senha = ?;";
PreparedStatement stmt = con.prepareStatement(strsql);
stmt.setString(1, usuario.getEmail());
stmt.setString(2, usuario.getSenha());
ResultSet rs=stmt.executeQuery();
if(rs.next()) //Existe o usuário no banco de dados
{
rs.close();
stmt.close();
return true;
} // Não existe o usuário
rs.close();
stmt.close();
return false;
}
catch (SQLException e)
{return false;}
}
return false;
}

public boolean verificaUsuario(int senha) {
return true;
}

public boolean verificaUsuario(String email) {
return true;
}
}


Alguns codigos, coloquei o mais importante, outros coloquei tudo. Me ajudem por favor.
Emerson Silva

Emerson Silva

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar