1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Login Com JDBC e Primefaces

Boa tarde, companheiros.

Estou suando a camisa aqui para finalizar um sistema de login. Não estou conseguindo integrar as tecnologias, e gostaria da ajuda dos colegas mais experientes. Abaixo segue minha pagina e a respectiva classe:

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.org/ui"
      xmlns:f="http://java.sun.com/jsf/core">
    <h:head>
        <title>Login</title>
        <link href="#{appBean.baseUrl}resources/css/login.css" type="text/css" rel="stylesheet"/>
    </h:head>
    <h:body>
        <div class="container" style="width:380px; margin: 15% auto;">
                <h:form id="formLogin" method = "post" action = "login">
                     <p:growl id="growl" showDetail="true" life="3000" />
                    <p:panel header="Acesso ao Sistema">
                    <h:panelGrid columns="2" cellpadding="5">
                            <h:outputLabel for="username" value="Usuário:" />
                            <p:inputText  id = "userName" name = "userName"  required="true" label="Usuário" />
                            <h:outputLabel for="password" value="Senha:" />
                            <p:password  id = "password" name = "password"  required="true" label="Senha" />
                            <f:facet name="footer">
                                <p:commandButton id="loginButton" value="Login" update="growl"  
                                                 oncomplete="handleLoginRequest(xhr, status, args)"/>
                            </f:facet> 
                    </h:panelGrid>
                    </p:panel>
                   </h:form>
            </div>
<script type="text/javascript">
    function handleLoginRequest(xhr, status, args) {
        if(args.validationFailed || !args.loggedIn) {
            jQuery('#formLogin').effect("shake", {times:5}, 100);
        }
        else {
            location.href = args.rota;
        }
    }
</script>
    </h:body>
</html>

import java.io.*;

import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import javax.sql.*;

import br.com.sgcon.dao.UsuarioDAO;
import br.com.sgcon.model.Usuarios;
import br.com.sgcon.util.Conexao;

import java.sql.*;

@WebServlet(urlPatterns = "/login")
public class Login extends HttpServlet{ 
    //cria objeto conexao
    Conexao conn = null;

    Usuarios usuario;
    //chama a conexao 

    FacesMessage message;

    public Login(){
        conn.getConnection();
    }

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException{

    String email = request.getParameter("userName");
    String senha = request.getParameter("password");

    String strQuery= ""; 
    PreparedStatement st = null;
    ResultSet rs=null;

    strQuery="select * from usuarios where email='"+email+"' and  senha='"+senha+"'";
    System.out.println(strQuery);

    try {
        st = conn.getConnection().prepareStatement(strQuery);
        rs = st.executeQuery(strQuery);
        int count=0;

        while(rs.next())
        {
           //session.setAttribute("userName",rs.getString(2));
           count++;
        }
        if(count > 0)
        {
          response.sendRedirect("painel.xhtml");
          FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("usuario", this.usuario.getEmail());
          message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Bem-vindo(a)", this.usuario.getNome());
        }
        else
        {
          response.sendRedirect("login.xhtml");
          message = new FacesMessage(FacesMessage.SEVERITY_WARN, "Erro de Autenticação", "Usuário ou Senha Inválidos!");
        }


    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }


    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    System.out.println("MySQL Connect Example.");
}
}
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags login ou faça a sua própria pergunta.