• No se han encontrado resultados

mysql&NetBeans

N/A
N/A
Protected

Academic year: 2020

Share "mysql&NetBeans"

Copied!
6
0
0

Texto completo

(1)

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)

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); }

(3)

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";

(4)

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 = "SELECT nombre,pass FROM usuario WHERE nombre='"+request.getParameter("usr")+"' AND pass='"+request.getParameter("pass")+"'"; result = DB.consulta(consulta);

(5)

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>

(6)

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

Referencias

Documento similar

¿Cómo se traduce la incorporación de ésta en la idea de museo?; ¿Es útil un museo si no puede concebirse como un proyecto cultural colectivo?; ¿Cómo puede ayudar el procomún

Volviendo a la jurisprudencia del Tribunal de Justicia, conviene recor- dar que, con el tiempo, este órgano se vio en la necesidad de determinar si los actos de los Estados

&#34;No porque las dos, que vinieron de Valencia, no merecieran ese favor, pues eran entrambas de tan grande espíritu […] La razón porque no vió Coronas para ellas, sería

Sanz (Universidad Carlos III-IUNE): &#34;El papel de las fuentes de datos en los ranking nacionales de universidades&#34;.. Reuniones científicas 75 Los días 12 y 13 de noviembre

(Banco de España) Mancebo, Pascual (U. de Alicante) Marco, Mariluz (U. de València) Marhuenda, Francisco (U. de Alicante) Marhuenda, Joaquín (U. de Alicante) Marquerie,

n que se contiene La Ordenanza que generalmente deberá observarse para el modo de.. cazar y pescar en estos rey nos, con señalamiento de los tiempos de veda, de una y

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,

• El monumento debió ser visible desde la ciudad dada la ubicación general en El Espinillo, un Mo- numento Conmemorativo y planteado en paralelo a otro en la barranca, debió