Advertisement
Guest User

Servlet Login

a guest
May 3rd, 2010
4,755
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.58 KB | None | 0 0
  1. package servlets;
  2.  
  3. import java.io.IOException;
  4. import javax.servlet.ServletException;
  5. import javax.servlet.http.*;
  6. import java.sql.*;
  7.  
  8. /**
  9.  *
  10.  * @author Marito
  11.  */
  12. public class login extends HttpServlet {
  13.  
  14.     private String nombre, pass, //En pass se guarda la que ingreso el usuario
  15.             AttNombre ="", AttAppe ="",
  16.             SQLEx = "", EX = "";
  17.  
  18.     private void lectorBD(Boolean estado, String aviso){
  19.         if(estado){
  20.             try{
  21.                 String MySQLDriver ="com.mysql.jdbc.Driver",
  22.                         DriGetConn = "jdbc:mysql://127.0.0.1/proyec",
  23.                         //El nombre de usuario y la contraseña para entrar a BD
  24.                         userBD = "root", passBD ="cu4tr04",
  25.                         selectID ="SELECT id FROM usernames WHERE username ='",
  26.                         IDpass ="", //El ID de la persona que se loguea
  27.                         selectMD5 ="SELECT password FROM passwords WHERE id ='",
  28.                         passMD5 = "", //La contraseña de la persona leida desde la BD
  29.                         selectDatos ="SELECT nombre, apellido FROM dusuarios WHERE rut='";
  30.  
  31.                 Class.forName(MySQLDriver);
  32.                 Connection conexion = DriverManager.getConnection
  33.                         (DriGetConn, userBD, passBD);
  34.                 Statement query = conexion.createStatement(
  35.                         ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
  36.                 ResultSet rs = query.executeQuery(selectID + nombre +"'");
  37.                 rs.first();
  38.                 IDpass = rs.getString("id");
  39.                 rs.close();
  40.                 rs = query.executeQuery(selectMD5 + IDpass + "'");
  41.                 rs.first();
  42.                 passMD5 = rs.getString("password");
  43.                 rs.close();
  44.                 if(this.passMatch(passMD5)){
  45.                     rs = query.executeQuery(selectDatos + IDpass +"'");
  46.                     rs.first();
  47.                     this.AttNombre = rs.getString(1);
  48.                     this.AttAppe = rs.getString(2);
  49.                     rs.close();
  50.                 }else {
  51.  
  52.                 }
  53.                 query.close(); conexion.close();
  54.             }catch(SQLException ex){
  55.                this.SQLEx = "Se produjo una excepción durante la conexión: "+ ex.toString();
  56.             }catch(Exception ex){
  57.                 this.EX = "Se produjo una excepción: "+ ex.toString();
  58.             }
  59.         }
  60.     }
  61.  
  62.     private Boolean passMatch(String passMD5){
  63.         if(this.pass.equals(passMD5)){
  64.             return true;
  65.         }else{
  66.             return false;
  67.         }
  68.     }
  69.  
  70.     private void validar(String parNom, String parPass){
  71.         Boolean estado = false;
  72.         String falta = null;
  73.  
  74.         if(!parNom.isEmpty()){
  75.             if(!parPass.isEmpty()){
  76.                 estado = true;
  77.                 this.nombre = parNom;
  78.                 this.pass = parPass;
  79.             }else{ falta = "No se ingresó la contraseña"; }
  80.         }else{ falta = "No se ingresó el Nombre de Usuario"; }
  81.  
  82.         this.lectorBD(estado, falta);
  83.     }
  84.  
  85.     @Override
  86.     public void doPost(HttpServletRequest request, HttpServletResponse response)
  87.     throws ServletException, IOException {
  88.         HttpSession sesion = request.getSession(true);
  89.         this.validar(request.getParameter("nombre"), request.getParameter("hash"));
  90.         sesion.setAttribute("nombre", this.AttNombre);
  91.         sesion.setAttribute("ape", this.AttAppe);
  92.        
  93.         response.sendRedirect(response.encodeRedirectURL("/ConectaBD/postLog.jsp") );
  94.     }
  95.  
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement