Estoy intentando loguearme con un servlet pero al ejecutar mi código no me sale nada en la pantalla y no entiendo por qué.
Tengo un pequeño formulario en el que hay que meter el dni y contraseña.
Lo he metido también en el xml.
Por favor, que alguien me ayude ;(
Código:
Login.java<script type="text/javascript" src="MD5.js"> </script> <form action="Login" method="post"> <table width="545" height="206" border="0" align="center" bgcolor="#FFFF66"> <tr> <td height="40" colspan="2" align="center" valign="middle" bgcolor="#FF0000" class="Pestanas">CONFIRMA QUE ERES EL ADMINISTRADOR INTRODUCIENDO LOS DATOS</td> </tr> <tr> <td height="2" colspan="2" align="right" bgcolor="#FF0000"><img src="imagenes/transparent-wedge.gif" width="100%" height="2" /></td> </tr> <tr> <td width="196" align="right" bgcolor="#FFFF66" class="Nota"><span class="tituloRegistro Estilo13">DNI *</span></td> <td width="564" align="left" valign="middle" bgcolor="#FFFF66"><label for="textfield"></label> <input name="dniAdmin" type="text" id="dniAdmin" size="9" maxlength="9" /></td> </tr> <tr> <td align="right" bgcolor="#FFFF66" class="Nota">CONTRASEÑA *</td> <td align="left" valign="middle" bgcolor="#FFFF66"><label for="textfield"></label> <input name="contrasena" type="password" id="contrasena" size="30" /></td> </tr> <tr> <td height="40" colspan="2" align="center" valign="bottom"> <input name="EnviarForm" type="submit" class="TextoNormal" id="EnviarForm" value="Enviar" /> <input name="LimpiarForm" type="reset" class="TextoNormal" id="label" value="Limpiar formulario" /></td> </tr> </table> </form>
Código:
import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.*; import java.sql.*; public class Login extends HttpServlet { private String dni, pass, //En pass se guarda la que ingreso el usuario AttNombre ="", AttAppe ="", //Para guardar los datos que nos regrese la BD SQLEx = "", EX = ""; public Integer Error=null; //Los errores que podamos tener private Boolean lectorBD(String Dni, String Pass){ Boolean estado = false; try{ String MySQLDriver ="com.mysql.jdbc.Driver", DriGetConn = "jdbc:mysql://localhost:3306/proyectocasarural", //El nombre de usuario y la contraseña para entrar a BD userBD = "root", passBD ="", passMD5=""; Class.forName(MySQLDriver); Connection conexion = DriverManager.getConnection (DriGetConn, userBD, passBD); Statement query = conexion.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); ResultSet rs = query.executeQuery("SELECT nombre, apellido FROM administrador WHERE dni='" + Dni +"' AND contrasena='" + Pass +"'"); rs.first(); passMD5 = rs.getString("contrasena"); if(this.passMatch(passMD5, Pass)){ this.AttNombre = rs.getString("Nombre"); this.AttAppe = rs.getString("Apellidos"); rs.close(); estado = true; }else { this.Error = 3; } query.close(); conexion.close(); }catch(SQLException ex){ this.SQLEx = "Se produjo una excepción durante la conexión: "+ ex.toString(); this.Error = 4; }catch(Exception ex){ this.EX = "Se produjo una excepción: "+ ex.toString(); this.Error = 5; } return estado; } private Boolean passMatch(String passMD5, String pass){ if(this.pass.equals(passMD5)){ return true; }else{ return false; } } private boolean validar(String parDni, String parPass){ Boolean estado = false; String falta = null; String num = parDni.substring(0,8); String let = parDni.substring(8,9); Integer numero = Integer.parseInt(num); numero = numero % 23; String letra="TRWAGMYFPDXBNJZSQVHLCKET"; letra=letra.substring(numero,numero+1); if (letra==let) { if (!parPass.isEmpty()){ estado = true; this.dni = parDni; this.pass = parPass; this.lectorBD(dni, pass); }else{ falta="Tiene que escribir su contraseña";} }else{falta="Dni erroneo";} return estado; } @Override public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Boolean estado; String URL = "/ConectaBD/postLog.jsp"; estado= this.validar(request.getParameter("dni"), request.getParameter("contasena")); HttpSession sesion = request.getSession(true); if(estado){ sesion.setAttribute("nombre", this.AttNombre); sesion.setAttribute("ape", this.AttAppe); }else{ URL = URL + "?error=" + this.Error; } response.sendRedirect(response.encodeURL(URL) ); } }