Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/10/2013, 12:28
Avatar de iamPePerez
iamPePerez
 
Fecha de Ingreso: octubre-2013
Mensajes: 5
Antigüedad: 10 años, 7 meses
Puntos: 0
Pregunta Proyecto Netbeans 4 capas.

Hola, muy buenas!

Soy principiante en esto del lenjuage java y necesito ayuda.

La cuestión es la siguiente, tengo un proyecto creado en Netbeans (Web Application) que consta de 4 capas (la verdad es que yo creo que esas se llaman capas, si estoy mal me dicen.) Y el Netbeans esta conectado a una base de datos (Navicat)

La idea es crear una pagina web, que tenga un formulario para Ingresar, Consultar, Modificar y Eliminar clientes.

Logré hacer que ingrese usuarios via web. Pero estoy trabado en poder consultar.

A continuación expongo los codigos para ingresar. (Los codigos tambien tienen otras cosas, pero ustedes podrán darse cuenta cual es cual)


Cliente.java (Dentro del paquete DTO)

Código Java:
Ver original
  1. package DTO;
  2.  
  3. public class Cliente
  4. {
  5.     private String rut;
  6.     private String nombre;
  7.     private String estado;
  8.  
  9.        public String getRut() {
  10.         return rut;
  11.     }
  12.  
  13.     public void setRut(String rut) {
  14.         this.rut = rut;
  15.     }
  16.  
  17.     public String getNombre() {
  18.         return nombre;
  19.     }
  20.  
  21.     public void setNombre(String nombre) {
  22.         this.nombre = nombre;
  23.     }
  24.  
  25.     public String getEstado() {
  26.         return estado;
  27.     }
  28.  
  29.     public void setEstado(String estado) {
  30.         this.estado = estado;
  31.     }  
  32. }

IngresoCliente.java (Dentro del paquete GUIServlet)

Código Java:
Ver original
  1. package GUIServlet;
  2.  
  3. import DTO.Cliente;
  4. import Negocio.Negocio;
  5. import java.io.IOException;
  6. import java.io.PrintWriter;
  7. import javax.servlet.ServletException;
  8. import javax.servlet.annotation.WebServlet;
  9. import javax.servlet.http.HttpServlet;
  10. import javax.servlet.http.HttpServletRequest;
  11. import javax.servlet.http.HttpServletResponse;
  12.  
  13. @WebServlet(name = "IngresoCliente", urlPatterns = {"/IngresoCliente"})
  14. public class IngresoCliente extends HttpServlet {
  15.  
  16.     protected void processRequest(HttpServletRequest request, HttpServletResponse response)
  17.             throws ServletException, IOException {
  18.         response.setContentType("text/html;charset=UTF-8");
  19.         PrintWriter out = response.getWriter();
  20.         try
  21.         {
  22.             Negocio auxNegocio = new Negocio();
  23.             Cliente auxCliente = new Cliente();
  24.            
  25.             auxCliente.setRut(request.getParameter("txtRut"));
  26.             auxCliente.setNombre(request.getParameter("txtNombre"));
  27.              auxCliente.setEstado(request.getParameter("txtEstado"));
  28.             auxNegocio.ingresarCliente(auxCliente);
  29.  
  30. out.println("<!DOCTYPE html>");
  31. out.println("<html>");
  32. out.println("<head>");
  33. out.println("<title>Se grabaron los datos correctamente</title>");            
  34. out.println("</head>");
  35. out.println("<body>");
  36. out.println("<script language = Javascript>");
  37. out.println("window.alert ('Datos Grabados');");
  38. out.println("location = href= 'http://localhost:8080/Web/WebIngresoCliente.jsp';");
  39. out.println("</script>");
  40. out.println("</body>");
  41. out.println("</html>");
  42.             out.close();
  43.          }
  44.             catch (Exception ex)
  45.             {
  46. out.println("<!DOCTYPE html>");
  47. out.println("<html>");
  48. out.println("<head>");
  49. out.println("<title>no se grabaron los datos correctamente</title>");            
  50. out.println("</head>");
  51. out.println("<body>");
  52. out.println("Rut: " + request.getParameter("txtRut"));
  53. out.println("Nombre: " + request.getParameter("txtNombre"));
  54. out.println("Estado:" + request.getParameter("txtEstado"));
  55. out.println("</body>");
  56. out.println("</html>");
  57. out.close();
  58.             }
  59.         {
  60. out.close();
  61.             }
  62.         }
  63. }


Negocio.java (Dentro del paquete Negocio)

Código Java:
Ver original
  1. package Negocio;
  2.  
  3. import DTO.*;
  4. import Conexion.*;
  5. import java.util.ArrayList;
  6. import javax.swing.JOptionPane;
  7.  
  8. public class Negocio
  9. {
  10. private Conexion conec1;
  11.  
  12. public Conexion getConec1() {
  13.         return conec1;
  14.     }
  15.  
  16. public void setConec1(Conexion conec1) {
  17.         this.conec1 = conec1;
  18.     }
  19.    
  20.     public void configurarConexion()
  21.     {
  22. this.setConec1(new Conexion());
  23. this.getConec1().setNombreBaseDeDatos("jdbc:mysql://localhost/ventas");
  24. this.getConec1().setNombreTabla("clientes");
  25. this.getConec1().setCadenaConexion("com.mysql.jdbc.Driver");
  26. this.getConec1().setUsuario("root");
  27. this.getConec1().setPass("");
  28.     }
  29.         public void ingresarCliente(Cliente cliente)
  30.     {
  31.           this.configurarConexion();
  32.           this.getConec1().setCadenaSQL("INSERT INTO clientes"
  33.                                      + " (rut,nombre,estado) VALUES ('" + cliente.getRut()+ "','"
  34.                                      + cliente.getNombre() + "','" + cliente.getEstado() + "');" );
  35.           this.getConec1().setEsSelect(false);
  36.           this.getConec1().conectar();
  37.   }
  38.    
  39.     public Cliente buscarCliente(String rut)
  40.     {
  41.    
  42.        Cliente auxCliente = new Cliente();
  43.         this.configurarConexion();
  44.        
  45.         this.getConec1().setCadenaSQL("SELECT * FROM clientes"
  46.                                      
  47.                                      + " WHERE rut = '" + rut + "';");
  48.         this.getConec1().setEsSelect(true);
  49.         this.getConec1().conectar();
  50.        
  51.         try
  52.         {
  53.            if (this.getConec1().getDbResultSet().next())
  54.            {
  55.                auxCliente.setRut(this.getConec1().getDbResultSet().getString("rut"));
  56.                auxCliente.setNombre(this.getConec1().getDbResultSet().getString("nombre"));
  57.                auxCliente.setEstado(this.getConec1().getDbResultSet().getString("estado"));
  58.                
  59.            }
  60.            else
  61.            {
  62. auxCliente.setRut("");
  63. auxCliente.setNombre("");
  64. auxCliente.setEstado("");
  65.                
  66.            }
  67.         }
  68.         catch(Exception ex)
  69.         {
  70.            JOptionPane.showMessageDialog(null, "Error de SQL " + ex.getMessage());
  71.         }
  72.         return auxCliente;
  73.     }
  74.    
  75.  public void eliminarCliente(String rut)
  76.     {
  77.        this.configurarConexion();
  78.        this.getConec1().setCadenaSQL("DELETE FROM " + this.getConec1().getNombreTabla()
  79.                                       + " WHERE rut = '" + rut + "';");
  80.        this.getConec1().setEsSelect(false);
  81.        this.getConec1().conectar();
  82.  
  83.     }
  84.    
  85.     public Cliente posicionaCliente(int fila)
  86.     {
  87.         Cliente auxCliente = new Cliente();
  88.        
  89.         this.configurarConexion();
  90.        
  91.         this.getConec1().setCadenaSQL("SELECT * FROM " + this.getConec1().getNombreTabla());
  92.         this.getConec1().setEsSelect(true);
  93.         this.getConec1().conectar();
  94.        
  95.         try
  96.         {
  97.             if(this.getConec1().getDbResultSet().relative(fila))
  98.             {
  99.                 auxCliente.setRut(this.getConec1().getDbResultSet().getString("rut"));
  100.                 auxCliente.setNombre(this.getConec1().getDbResultSet().getString("nombre"));
  101.                
  102.             }
  103.             {
  104.                auxCliente.setRut("");
  105.                auxCliente.setNombre("");
  106.             } //Fin else
  107.         }
  108.         {
  109.            auxCliente.setRut("");
  110.            auxCliente.setNombre("");
  111.         }
  112.         return auxCliente;
  113.     }
  114.    
  115.  }


Como pueden ver, el que se conecta a la base de datos es Negocio.java. Osea, IngresoCliente llama a Negocio.java para registar datos. Esto me funciona a la perfección.

Ahora le muestro el código ConsultaCliente.java que debe conectarse a Negocio.java para mostrar los datos.

ConsultaCliente.java (Dentro del paquete GUIServlet)

Código Java:
Ver original
  1. package GUIServlet;
  2.  
  3. import java.io.IOException;
  4. import java.io.PrintWriter;
  5. import javax.servlet.ServletException;
  6. import javax.servlet.annotation.WebServlet;
  7. import javax.servlet.http.HttpServlet;
  8. import javax.servlet.http.HttpServletRequest;
  9. import javax.servlet.http.HttpServletResponse;
  10. import DTO.*;
  11. import Negocio.*;
  12.  
  13. @WebServlet(name = "ConsultaCliente", urlPatterns = {"/ConsultaCliente"})
  14. public class ConsultaCliente extends HttpServlet {
  15.  
  16.     protected void processRequest(HttpServletRequest request, HttpServletResponse response)
  17.             throws ServletException, IOException {
  18.         response.setContentType("text/html;charset=UTF-8");
  19.         PrintWriter out = response.getWriter();
  20.         try {            
  21.                      
  22.            
  23. Negocio auxNegocio = new Negocio();
  24. Cliente auxCliente = new Cliente();
  25.          
  26. auxNegocio.buscarCliente(null);
  27. auxCliente.setRut(request.getParameter("txtRut"));
  28. auxCliente.setNombre(request.getParameter("txtNombre"));
  29. auxCliente.setEstado(request.getParameter("txtEstado"));
  30.  
  31. out.println("<!DOCTYPE html>");
  32. out.println("<html>");
  33.  out.println("<head>");
  34. out.println("<title>Servlet ConsultaCliente</title>");            
  35. out.println("</head>");
  36. out.println("<body>");
  37.             out.println("Rut: " + request.getParameter("txtRut"));
  38.             out.println("Nombre: " + request.getParameter("txtNombre"));
  39.             out.println("Apellido: " + request.getParameter("txtEstado"));
  40.             out.println("</body>");
  41.             out.println("</html>");
  42.         } finally {            
  43.             out.close();
  44.         }
  45.     }

El problema es el al solicitar los datos me los muestra null.

La idea es que el formulario (en la web) tenga el campo Rut y un botón Consultar. Al ingresar el Rut y dar click en el boton, deberia mostrar los demas datos del cliente (Nombre y Estado) pero me paracen valores null.

Espero me puedan ayudar. Pido disculpas por si el codigo está algo desordenado, pero creo que se entiende.

Muchas gracias, saludos!