PDF de programación - Conexión MySQL con NetBeans

Imágen de pdf Conexión MySQL con NetBeans

Conexión MySQL con NetBeansgráfica de visualizaciones

Publicado el 12 de Abril del 2018
8.438 visualizaciones desde el 12 de Abril del 2018
409,8 KB
6 paginas
Creado hace 11a (13/05/2012)
Alumna: Keren Monge Cid
Materia: Web Application Development
Maestro: Alejandro S. Álvarez Cifuentes
Grupo: 3CM2
2do Departamental

Conexión de Mysql con NetBeans



Objetivo
Realizar un programa que realice la conexión con una base de datos en Mysql vía web utilizando el
IDE NetBeans y el servidor Tomcat.

Introducción
Para realizar esta práctica se debe tener instalado el gestor de base de datos Mysql y configurado
el servidor Tomcat con NetBeans y conocimientos básicos del lenguaje sql.

Procedimiento:

1. Se debe crear una base de datos en Mysql la cual utilizaremos para acceder con NetBeans,
en este caso se creó la base “Usuarios” , se creó la tabla usuario con los campos “nombre”
y “pass” y se le agregó un registro.

2. Se debe configurar el MySQL Connector Java en NetBeans, en la pestaña Services,
seleccionar Databases y en Drivers verificar si se encuentra el MySQL (Connector /J
Driver), sino dar clic derecho sobre Drivers y agregar el .jar previamente descargado. Con
esto podremos acceder a una base de datos de MySQL a través de NetBeans.



3. Ahora se crea un proyecto con categoría Java Web, seleccionando en Web Application,

configurando para ser usado con Tomcat, y se crea una clase que extienda de Servlet.

4. Lo siguiente seria realizar la codificación, para conectar la base de datos “usuarios” y

realizar consultas.

Lo que se realizó fue una página JSP que pide el nombre y contraseña de un usuario registrado en
la base de datos “usuarios”, al dar clic en el botón Iniciar Sesión se conecta con el la clase que
extiende de Servlet en la cual se realiza la consulta y la comparación de datos y se re-direcciona a
otra página que muestra los datos del usuario, sino coincidieron no muestra nada.

A continuación se despliegan los códigos de las clases que se utilizaron para esta práctica.

Clase que conecta con la base de datos, ConexDB.java

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 sirve de interfaz entre el servlet y la ConexDB.java
import java.sql.ResultSet;
import java.sql.Statement;
public class InterfazDB {
static final String CONTROLADOR = "com.mysql.jdbc.Driver";
static final String URL_BASEDATOS = "jdbc:mysql://localhost:3306/usuarios";
static final String NOMBREUSUARIO = "root";
static final String CONTRASENIA = "12345";
protected Statement instruccion;

protected ResultSet resulset=null;
String consulta, result;
ConexDB conectar;
boolean BDconectada = false;
boolean exito = false;
public InterfazDB(){
conectar = new ConexDB();
if(conectar.conectar(CONTROLADOR, URL_BASEDATOS, NOMBREUSUARIO, CONTRASENIA)){
BDconectada = true;
}
}
String consulta(String consulta){
return conectar.establecerConsulta(consulta);
}
}

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;

public class MiServlet extends HttpServlet {
String consulta, result="";// ="SELECT * FROM usuario";
InterfazDB DB;
String in;
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException, ClassNotFoundException {
response.setContentType("application/octet-stream");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
if(DB.BDconectada){
consulta
=
nombre='"+request.getParameter("usr")+"' AND pass='"+request.getParameter("pass")+"'";
result = DB.consulta(consulta);
out.println("<html>");

nombre,pass

"SELECT

FROM

usuario

WHERE

out.println("<head>");
out.println("<title>Sesion</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>usuario encontrado</h1>");
out.println("<h1>"+result+"</h1>");
out.println("</body>");
out.println("</html>");
}
}
public void init(){
DB = new InterfazDB();
}
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}

Pagina JSP que pide los datos que serán 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 sesión</title>
</head>
<body>
<fieldset id="registrousuario">
<form action="MiServlet" method="POST">
<legend><p>Iniciar Sesión</p> </legend>
<label for="user"> Usuario:</label>
<input class="texto" type="text" name="usr"/><br/>
<br/><label for="pass"> Contraseña:</label>
<input class="texto" type="password" name="pass"/><br/>
<input class="botonenviar" type="submit" value="Iniciar sesión" name="login" />
</form>
</fieldset>
</body>
</html>



Ejecución

Se ejecuta el proyecto desde NetBeans y muestra la página inicial:

Se introducen datos correctos y se presiona el botón:



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:

Conclusión



En esta práctica se aprendió que el uso de NetBeans para la conexión con MySQL facilita el acceso
a las bases de datos, ya que se pueden hacer consultas remotas (vía web) utilizando una interfaz
gráfica como un servlet o un HTML.
  • Links de descarga
http://lwp-l.com/pdf10360

Comentarios de: Conexión MySQL con NetBeans (1)

Dante Estrada
9 de Febrero del 2021
estrellaestrellaestrellaestrellaestrella
Me interesa el libro
Responder

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad