En la JSP:
Código:
<form action="Chequeo" method="post">
<center>
<span class="style6">Usuario:</span>
<input type="text" name="usuario" size=20></center><br>
<center>
<span class="style6">Contraseña:</span>
<input type="Password" name="clave" size=20></center><br>
<center><input type="submit" value="enviar"></center><br>
</form>
En el web.xml:
Código:
<servlet>
<servlet-name>Chequeo</servlet-name>
<servlet-class>controlador.ServletChequeo</servlet-class>
</servlet>
En el servlet, en el método processRequest(....):
Código:
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String usuario = "";
String clave = "";
String url="";
try {
if (request.getParameter("usuario") != null)
usuario = request.getParameter("usuario");
if (request.getParameter("clave") != null)
clave = request.getParameter("clave");
if ( ClaseQueContieneLaFuncionDeChequear.Chequea(usuario,clave) ){
HttpSession sesion=request.getSession(true);
//Guardo en la sesion su nombre de usuario y contraseña
sesion.setAttribute("usuario",usuario);
sesion.setAttribute("clave", clave);
System.out.println("Sesion : "+usuario);
// crea el dispatcher al que reenviarle la solicitud
RequestDispatcher dispatcher = request.getRequestDispatcher("/LaPaginaQueQuieras.jsp");
// reenvia la petición
dispatcher.forward(request, response) ;
}else{
// crea el dispatcher al que reenviarle la solicitud
//out.println("Identificacion incorrecta");
RequestDispatcher dispatcher = request.getRequestDispatcher("Login.jsp");
// reenvia la petición
dispatcher.forward(request, response);
}
} finally {
out.close();
}
En la clase que contiene la funcion de chequear:
Una función que realiza la conexión:
Código:
public Connection getConexion() throws Exception {
try {
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/nombreDeTuBaseDeDatos";
String user = "usuariodelabd";
String password = "contraseña";
Class.forName(driver);
return DriverManager.getConnection(url, user, password);
} catch(Exception e) {
throw new Exception(e);
}
}
Y la función que hace el chequeo:
Código:
public boolean Chequea(String Usuario, String Clave) throws Exception {
Connection conn = null;
ResultSet result = null;
PreparedStatement statement = null;
try {
int i;
conn = getConexion();
statement = conn.prepareStatement("SELECT * FROM `Usuarios` WHERE Usuario LIKE '"+Usuario+"' && Password LIKE '"+Clave+"'");
result = statement.executeQuery();
if(result.next()){
return true;
}else{
return false;
}
} catch(SQLException sqle) {
throw new Exception(sqle);
} finally {
if(result != null)
try {
result.close();
} catch(SQLException sql) {
throw new Exception(sql);
}
if(statement != null)
try {
statement.close();
} catch(SQLException sql) {
throw new Exception(sql);
}
if(conn != null)
try {
conn.close();
} catch(SQLException sql) {
throw new Exception(sql);
}
}
}
}
Esto sería una forma de hacerlo, pero hay muchas. No te limites a copiar y pegar, trata de entenderlo, sino no te servirá de nada