Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Lo que se realiz fue una pgina JSP que pide el nombre y contrasea de un usuario registrado en
la base de datos usuarios, al dar clic en el botn Iniciar Sesin se conecta con el la clase que
extiende de Servlet en la cual se realiza la consulta y la comparacin de datos y se re-direcciona a
otra pgina que muestra los datos del usuario, sino coincidieron no muestra nada.
A continuacin se despliegan los cdigos de las clases que se utilizaron para esta prctica.
import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;
public class ConexDB {
private Connection conexion;
protected Statement instruccion;
protected boolean conectadoABaseDatos = false;
protected boolean result = false;
protected ResultSet conjres=null;
protected boolean band = false;
String mensajeEXC;
public ConexDB(){
}
boolean conectar(String controlador, String url, String nombreUsuario, String pass){
try {
Class.forName( controlador );
conexion = DriverManager.getConnection(url, nombreUsuario, pass);
instruccion = conexion.createStatement();
conectadoABaseDatos = true;
} catch (ClassNotFoundException ex) {
mensajeEXC ="No se pudo registrar el controlador";
Logger.getLogger(ConexDB.class.getName()).log(Level.SEVERE, null, ex);
}catch (SQLException ex) {
mensajeEXC ="No se pudo conectar a la Base de Datos";
Logger.getLogger(ConexDB.class.getName()).log(Level.SEVERE, null, ex);
}
return conectadoABaseDatos;
}
String establecerConsulta(String consulta){
String s = "";
try{
conjres = instruccion.executeQuery( consulta );
ResultSetMetaData metadatos = conjres.getMetaData();
int numeroDeColumnas = metadatos.getColumnCount();
if(conjres.next())
for(int i=1; i<=numeroDeColumnas; i++){
s += (String)conjres.getObject(i)+" ";
}
} catch (SQLException ex) {
Logger.getLogger(ConexDB.class.getName()).log(Level.SEVERE, null, ex);
}
return s;
}
void establecerUpdate(String consulta){
try{
int i = instruccion.executeUpdate(consulta);
System.out.println(i);
}
catch (SQLException ex) {
Logger.getLogger(ConexDB.class.getName()).log(Level.SEVERE, null, ex);
}
}
void desconectarDB(){
try{
instruccion.close();
conexion.close();
}
catch(Exception e){e.printStackTrace();}
}
}
Clase que extiende de HttpServlet la cual se encarga de realizar una consulta a la base de datos y
mostrar el resultado.
MiServlet.java
import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
Pagina JSP que pide los datos que sern enviados a MiServlet.java
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<%--<link rel="StyleSheet" media="screen" type="text/css" href="estilo.css">--%>
<title>Inicio de sesin</title>
</head>
<body>
<fieldset id="registrousuario">
<form action="MiServlet" method="POST">
<legend><p>Iniciar Sesin</p> </legend>
<label for="user"> Usuario:</label>
<input class="texto" type="text" name="usr"/><br/>
<br/><label for="pass"> Contrasea:</label>
<input class="texto" type="password" name="pass"/><br/>
<input class="botonenviar" type="submit" value="Iniciar sesin" name="login" />
</form>
</fieldset>
</body>
</html>
Ejecucin
Se re-direcciona a otra pagina que se cre en la clase que extiende de Servlet que muestra los
datos encontrados en la base de datos:
Conclusin
En esta prctica se aprendi que el uso de NetBeans para la conexin con MySQL facilita el acceso
a las bases de datos, ya que se pueden hacer consultas remotas (va web) utilizando una interfaz
grfica como un servlet o un HTML.