Sie sind auf Seite 1von 14

DAOejercicio

Creacin de la Base de Datos y de la tabla

En Netbeans creamos un proyecto web llamado DAOEjercicio. Posteriormente agregamos la librera


para la conexin a MySQL.

Posteriormente creamos los siguientes archivos que veremos en clase.

Index.html
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<center>
<H1 ALIGN="CENTER">Menu Principal </H1>
<p>
<a href="/DAOEjercicio/altaUsuario.html">Crear Nuevo Usuario</a><br>
<a href="/DAOEjercicio/modificaUsuario.html">Consulta y Eliminacion de Usuarios </a>
</p>
</center>
</body>
</html>

altaUsuario.html
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<H1 ALIGN="CENTER">Nuevo Usuario </H1>
<FORM ACTION="/DAOEjercicio/ServletControlador" METHOD="POST">
ID Elemento:
<INPUT TYPE="TEXT" NAME="id"><BR>
User:
<INPUT TYPE="TEXT" NAME="login"><BR>
Password:
<INPUT TYPE="PASSWORD" NAME="password"><BR>
<CENTER>
<INPUT TYPE="SUBMIT" VALUE="alta" NAME="operacion">
</CENTER>
<p>
<a href="/DAOEjercicio/index.html">Men Principal</a><br>
</p>
</FORM>
</body>

modificaUsuario.html
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<H1 ALIGN="CENTER">Consulta y Eliminacin de Usuarios </H1>
<FORM ACTION="/DAOEjercicio/ServletControlador" METHOD="POST">
ID Elemento:
<INPUT TYPE="TEXT" NAME="id"><BR>
<CENTER>
<INPUT TYPE="SUBMIT" VALUE="consultar" NAME="operacion">
<INPUT TYPE="SUBMIT" VALUE="eliminar" NAME="operacion">
</CENTER>
</FORM>
<p>
<a href="/DAOEjercicio/index.html">Men Principal</a><br>
</p>
</body>
</html>

Usuario.java
public class Usuario
{
private int id;
private String login;
private String password;
public Usuario()
{
}
public Usuario(int id, String login, String password)
{
this.id = id;
this.login = login;
this.password = password;
}
public void setId(int id)
{
this.id = id;
}

public void setLogin(String login)


{
this.login = login;
}
public void setPassword(String password)
{
this.password = password;
}
public int getId()
{
return id;
}
public String getLogin()
{
return login;
}
public String getPassword()
{
return password;
}
}

DAOEjercicio.java
import java.sql.*;
import java.util.*;
public class DAOEjercicio
{
Connection con = null;
private Vector coleccion;
public DAOEjercicio() {
conectar();
coleccion = new Vector(20,1);
}
public Connection conectar()
{
//Connection con = null;
try
{
Class.forName("com.mysql.jdbc.Driver");

con = DriverManager.getConnection
("jdbc:mysql://localhost/usuarios?user=root&password=admin");
}
catch(ClassNotFoundException cnfe)
{
System.out.println(cnfe.getMessage());
}
catch(SQLException sqle)
{
System.out.println(sqle.getMessage());
}
return con;
}
public void desconectar(Connection con)
{
try
{
if(con!=null)
con.close();
con=null;
}
catch(Exception e)
{
e.printStackTrace();
}
}

public int altaUsuario(Usuario obj)


{ int result=-1;
/* Se comienza a concatenar la cadena con los valores que formarn
* la sentencia que ser enviada al Manejador de Base de Datos
* */
String sentenciaSQL = "INSERT INTO user VALUES("+ obj.getId()+ ",'"+ obj.getLogin()+ "','"+
obj.getPassword()
+"')";
try
{
// Se crea el objeto Statement
Statement stm = con.createStatement();
/* Se manda ejecutar la sentencia de insercin a la Base de Datos.
* El mtodo "executeUpdate()" tiene un valor de retorno entero,

* el cual indicar el total de registros afectados por la ejecucin


* de la sentencia SQL. Regresar un valor de 0 si no afect ningn
* registro o bien, si la sentencia ejecutada es una sentencia DDL.
* */
int filasAfectadas = stm.executeUpdate(sentenciaSQL);
if (filasAfectadas>0)
{System.out.println("Se ha agregado un Nuevo Registro");
System.out.println("Se ha afectado: "+filasAfectadas+" fila");
result= 1;}
}
catch (SQLException sqle)
{
System.out.println(sqle.getMessage());
sqle.printStackTrace();
}
return result;
}
public int eliminarUsuario(Usuario obj)
{int result= -1;
String sentenciaSQL = "DELETE FROM user WHERE clave = "
+obj.getId();
try
{
Statement stm = con.createStatement();
int filasAfectadas = stm.executeUpdate(sentenciaSQL);
if (filasAfectadas>0)
{System.out.println("Se ha eliminado un Registro");
System.out.println("Se ha afectado: "+filasAfectadas+" fila");
result=1;
}
}
catch (SQLException sqle)
{
System.out.println(sqle.getMessage());
sqle.printStackTrace();
}
return result;
}
public Usuario consultarUsuario(int id)
{
ResultSet rs;
Statement stm;
String sentenciaSQL = "SELECT * FROM user";// WHERE clave = "+id;
Usuario obj = new Usuario();
try

{
stm = con.createStatement();
rs = stm.executeQuery(sentenciaSQL);
while(rs.next())
{
//System.out.println(" ");
obj.setId(rs.getInt("clave"));
obj.setLogin(rs.getString("userid"));
obj.setPassword(rs.getString("password"));
//obj.toString();
}
}
catch (SQLException sqle)
{
System.out.println(sqle.getMessage());
sqle.printStackTrace();
}
return obj;
}
public Vector consultarUsuarios()
{
ResultSet rs;
Statement stm;
String sentenciaSQL = "SELECT * FROM user";// WHERE clave = "+id;
Usuario obj = new Usuario();
try
{
stm = con.createStatement();
rs = stm.executeQuery(sentenciaSQL);
while(rs.next())
{
//System.out.println(" ");
obj.setId(rs.getInt("clave"));
obj.setLogin(rs.getString("userid"));
obj.setPassword(rs.getString("password"));
coleccion.addElement(obj);
obj.toString();
}
}

catch (SQLException sqle)


{
System.out.println(sqle.getMessage());
sqle.printStackTrace();
}
return coleccion;
}
}

ServletControlador.java
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
@WebServlet(urlPatterns = {"/ServletControlador"})
public class ServletControlador extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//se obtiene la operacion a realizar
String operacion = request.getParameter("operacion");
PrintWriter salida = response.getWriter();
salida.println(operacion);
// Se obtienen los datos del usuario
int id = Integer.parseInt(request.getParameter("id"));
String cad="/ServletContenedor?operacion=";
if(operacion.equals("alta"))
{
//
salida.println("alta control");
String login = request.getParameter("login");
String pass = request.getParameter("password");
//crea el usuario
Usuario usr = new Usuario(id,login,pass);
cad=cad+operacion+"&id="+usr.getId()+"&login="+usr.getLogin()
+"&pass="+usr.getPassword();
//salida.println(usr.getId());
}

if (operacion.equals("consultar")|| operacion.equals("eliminar"))
{
//
salida.println("consulta controlador");
//crea el usuario
Usuario usr = new Usuario();
//salida.println(id);
//asigna el id al usuario
usr.setId(id);
cad=cad+operacion+"&id="+usr.getId();
}
if (operacion.equals("todos"))
{
salida.println("consulta todos controlador");
cad=cad+operacion;
}
//se pasa el control al servlet contenedor
ServletContext context = getServletContext();
RequestDispatcher rd = context.getRequestDispatcher(cad);
rd.forward(request, response);
}

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}

ServletContenedor.java
import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.*;
import java.util.*;
import java.sql.*;
import javax.naming.*;
import javax.sql.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
@WebServlet(urlPatterns = {"/ServletContenedor"})
public class ServletContenedor extends HttpServlet {
private Connection con;
private DAOEjercicio controlNormal;

public void init()


{
controlNormal = new DAOEjercicio();
}
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter salida = response.getWriter();
//se obtiene la operacion a realizar
String operacion = request.getParameter("operacion");
String cad="/ServletProcesamientoFinal?operacion=";
if(operacion.equals("alta"))
{
salida.println("alta contenedor");
// Se obtiene el usuario
Usuario usr = new
Usuario(Integer.parseInt(request.getParameter("id")),request.getParameter("login"),request.getParam
eter("pass"));
salida.println(usr.getLogin());
int a=controlNormal.altaUsuario(usr);
if (a==1)
{ operacion="Alta";
cad=cad+operacion+"&resultado=Exito";

System.out.println("Usuario agregado a la BD"); salida.println("Usuario agregado a la


BD");
}
else
{ System.out.println("Usuario NO agregado a la BD");salida.println("Usuario NO agregado a
la BD");
operacion="Alta";
cad=cad+operacion+"&resultado=Error";
}
}
if (operacion.equals("consultar"))
{ salida.println("consulta contendor ");
Usuario usr = new Usuario();
int id = Integer.parseInt(request.getParameter("id"));
usr=controlNormal.consultarUsuario(id);
if(usr.getId()>0){
operacion="Consulta";
cad=cad+operacion+"&resultado=Exito&id="+usr.getId()+"&login="+usr.getLogin()
+"&pass="+usr.getPassword();
System.out.println("Usuario encontrado");
}else{
operacion="Consulta";
cad=cad+operacion+"&resultado=Error";
System.out.println("Usuario no encontrado");
}
//es necesario retornar el usuario usr
}
if(operacion.equals("eliminar"))
{
salida.println("elimina contenedor");
Usuario usr = new Usuario();
// Se obtiene el id del usuario
int id = Integer.parseInt(request.getParameter("id"));
salida.println(id);
usr.setId(id);
int a=controlNormal.eliminarUsuario(usr);
if (a==1)
{ operacion="Baja";
cad=cad+operacion+"&resultado=Exito";
System.out.println("Usuario eliminado en la BD"); salida.println("Usuario
eliminado en la BD");
}
else
{ System.out.println("Usuario NO eliminado en la BD");salida.println("Usuario NO
eliminado en la BD");
operacion="Baja";
cad=cad+operacion+"&resultado=Error";

}
}
ServletContext context = getServletContext();
RequestDispatcher rd = context.getRequestDispatcher(cad);
rd.forward(request, response);
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
public String getServletInfo() {
return "Short description";
}
}

ServletProcesamientoFinal.Java
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
@WebServlet(urlPatterns = {"/ServletProcesamientoFinal"})
public class ServletProcesamientoFinal extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//response.setContentType("text/html;charset=UTF-8");
PrintWriter salida = response.getWriter();
//se obtiene la operacion realizada
String operacion = request.getParameter("operacion");
//se obtiene el resultado de la operacion

String resultado = request.getParameter("resultado");


// Se define una cadena la cual contiene el encabezado de la Pgina Web
String encabezadoHtml = "<HTML> <HEAD> <TITLE> Resultado de la Operacion de "+
operacion+" del usuario </TITLE> </HEAD> <BODY
BGCOLOR='#FDF5E6'>";
// Se define una cadena la cual contiene la parte final de la Pgina Web
String pieHtml = "<a href='index.html'>Regresar a la pagina principal</a></BR></BODY>
</HTML>";
salida.println(encabezadoHtml);
if(operacion.equals("Alta")||operacion.equals("Baja"))
{
//salida.println("alta process");
if(resultado.equals("Exito"))
{
salida.println("<DIV ALIGN=CENTER><H1><B>Su "+operacion+" ha sido
exitosa</B></H1></DIV>");
}
else if(resultado.equals("Error"))
{
salida.println("<DIV ALIGN=CENTER><H1> Lo siento !! </H1></DIV>");
salida.println("<p ALIGN=CENTER><B>Su "+operacion+" no pudo realizarse!
</br>Intentelo nuevamente por favor!</B></p>");
}
}
if (operacion.equals("Consulta"))
{salida.println();
if(resultado.equals("Exito"))
{
salida.println("<DIV ALIGN=CENTER><H1> Consulta Exitosa !!
</H1></DIV>");
salida.println("<div ALIGN=CENTER><table
border=1><tr><td><b>Id:</b></td><td>"+request.getParameter("id")+
"</td></tr><tr><td><b>Login:</b></td><td>"+request.getParameter(
"login")+
"</td></tr><tr><td><b>Password:</b></td><td>"+request.getParam
eter("pass")+
"</td></tr></table></div>");
}
else if(resultado.equals("Error"))
{
salida.println("<DIV ALIGN=CENTER><H1> Lo siento !! </H1></DIV>");
salida.println("<p ALIGN=CENTER><B>El usuario no se encuentra!
</BR>Intente con otro usuario por favor!</B></p>");
}
}
salida.println(pieHtml);
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);

}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}

Das könnte Ihnen auch gefallen