Resultados 1 al 5 de 5

Tema: Pasar parámetro a modelo 3 capas

  1. #1
    DFI LANPARTY Owner!!! Avatar de darkantonio
    Fecha de ingreso
    14 oct, 08
    Mensajes
    71

    Pasar parámetro a modelo 3 capas

    Buenas amigos de CHW...recurro a ustedes porq me siento desesperado!!!

    Estamos desarrollando una aplicación donde estudio pero tengo problemas para realizar una consulta por un campo...que en este caso es el campo Rut.
    El modelo está diseñado mediante el Modelo Vista Controlador.....

    Estos son los archivos:

    Controller:


    Código:
    package cl.ipla.web.servlets;
    import java.io.IOException;
    import java.io.PrintWriter;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.*;
    import cl.ipla.web.vo.UsuarioVO;
    import cl.ipla.web.negocio.WebDataNegocio;
    import javax.servlet.RequestDispatcher;
    
    public class Controller extends HttpServlet {
            public void redireccionar (HttpServletRequest request, HttpServletResponse response, String page){
            try
            {
                RequestDispatcher fwd=request.getRequestDispatcher(page);
                fwd.forward(request, response);
            }
            catch (ServletException ex)
            {
                ex.printStackTrace();
            }
            catch (IOException ex)
            {
                ex.printStackTrace();
            }
        }
    
        protected void processRequest(HttpServletRequest request, HttpServletResponse response)
          throws ServletException, IOException {
           response.setContentType("text/html;charset=UTF-8");
           String accion=request.getParameter("accion");
           WebDataNegocio objNegocio=new WebDataNegocio();
           if("insertar".equalsIgnoreCase(accion))
           {
               try
               {
                   UsuarioVO objUsuario=new UsuarioVO();
                   objUsuario.setRut((String) request.getParameter("Rut"));
                   objUsuario.setNombre((String) request.getParameter("Name"));
                   objUsuario.setApPaterno((String) request.getParameter("ApPat"));
                   objUsuario.setApMaterno((String) request.getParameter("ApMat"));
                   objUsuario.setEdad(Integer.parseInt( request.getParameter("Age")));
                   objUsuario.setEmail((String) request.getParameter("Email"));
                   objNegocio.insertaUsuario(objUsuario);
                   request.getSession().setAttribute("mensaje", "Usuario Insertado Correctamente.");
                 
                   response.sendRedirect("InsertarResultado.jsp");
    
               }
               catch(Exception ex)
               {
                   request.getSession().setAttribute("mensaje","Error al insertar :"+ ex.getMessage());
    
               }
    
               finally
               {
                   
               }
           }else if ("consultar".equalsIgnoreCase(accion)){
    
               UsuarioVO[] personas = objNegocio.consultarPersonas();
              
               objUsuario.setRut((String) request.getParameter("rut"));
    
                if (personas !=null){
                    request.getSession().setAttribute("personas", personas);
                    //redireccionar(request, response, "consultarResultado.jsp");
                    response.sendRedirect("consultarResultado.jsp");
                }
        }
        }
    
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
            processRequest(request, response);
        }
    
        protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
            processRequest(request, response);
        }
    
    }
    WebDataDao

    Código:
    package cl.ipla.web.dao;
    import cl.ipla.web.vo.UsuarioVO;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.ArrayList;
    
    public class WebDataDao {
        Connection conn=null;
    
        private Connection getConnection()
        {
        Connection conexion =null;
        String path ="jdbc:sqlserver://";
        String Server = "localhost:1433";
        String dbname ="database = DAWB";
        try{
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            conexion = DriverManager.getConnection (path + Server + ";" + dbname + "; user=DAWB; password=DAWB" );
        }
        catch (SQLException ex)
        {
            System.out.println("SQLException Capturada:" + ex.getMessage().toString());
        }
        catch (ClassNotFoundException ex)
        {
            System.out.println("ClassNotFoundException Capturada:" +ex.getMessage().toString() );
        }
            return conexion;
            }
    public void insertaUsuario(UsuarioVO objUsuario) throws Exception {
        try {
            conn = getConnection();
            String sql="insert into tblUsuario (DAWB_Rut, DAWB_Nombre, DAWB_ApPaterno, DAWB_ApMaterno, DAWB_Edad, DAWB_Email) Values (?,?,?,?,?,?)";
            PreparedStatement pst=conn.prepareStatement(sql);
            pst.setString(1, objUsuario.getRut());
            pst.setString(2, objUsuario.getNombre());
            pst.setString(3, objUsuario.getApPaterno());
            pst.setString(4, objUsuario.getApMaterno());
            pst.setInt(5, objUsuario.getEdad());
            pst.setString(6, objUsuario.getEmail());
            int registrosInsertados =pst.executeUpdate();
            if (registrosInsertados ==1)
                System.out.println("Registros Insertados Correctamente");
            else
                System.out.println("Error al insertar datos de usuario");
        }
        catch (SQLException ex)
        {
            System.out.println("SQLException Capturada:" + ex.getMessage().toString());
            throw new Exception ("Error al insertar datos de usuario");
        }
        finally
        {
            try
          {
                conn.close();
          }
          catch (SQLException ex)
          {
              System.out.println("Error al cerrar la conexion" + ex.getMessage().toString());
          }
        }
        }
    
                    public ArrayList consultarPersonas() {
                    ArrayList personas = new ArrayList();
    
                    conn = getConnection();
                    if (conn != null ) {
                        try {
                            Statement st = conn.createStatement();
                           // if ("*".equals(objUsuario.getRut));
    
                            String sql = "select * from tblUsuario";
                            //String sql = "select * from tblUsuario where Rut="objUsuarioVO";
    
                            ResultSet rs = st.executeQuery(sql);
    
                            while (rs.next()) {
                                UsuarioVO p = new UsuarioVO();
                                p.setRut(rs.getString("DAWB_Rut"));
                                p.setNombre(rs.getString("DAWB_Nombre"));
                                p.setApPaterno(rs.getString("DAWB_ApPaterno"));
                                p.setApMaterno(rs.getString("DAWB_ApMaterno"));
                                p.setEdad(rs.getInt("DAWB_Edad"));
                                p.setEmail(rs.getString("DAWB_Email"));
                            personas.add(p);
                    }
    
                } catch (SQLException ex) {
    
                } finally {
                    try {
    
                        conn.close();
                    } catch (SQLException ex) {
                        System.out.println("Error al cerrar la conexion" + ex.getMessage().toString());
    
                    }
                }
            }
    
            return personas;
        }
    }
    UsuarioVO

    Código:
    package cl.ipla.web.vo;
    import java.io.Serializable;
    public class UsuarioVO implements Serializable {
        private int id;
        private String Rut;
        private String Nombre;
        private String ApPaterno;
        private String ApMaterno;
        private int Edad;
        private String Email;
    
        public int getId() {
            return id;
        }
    
        public void setId(int id) {
            this.id = id;
        }
       
        public String getRut() {
            return Rut;
        }
    
        public void setRut(String Rut) {
            this.Rut = Rut;
        }
    
        public String getNombre() {
            return Nombre;
        }
       
        public void setNombre(String Nombre) {
            this.Nombre = Nombre;
        }
       
        public String getApPaterno() {
            return ApPaterno;
        }
    
        public void setApPaterno(String ApPaterno) {
            this.ApPaterno = ApPaterno;
        }
      
        public String getApMaterno() {
            return ApMaterno;
        }
    
        public void setApMaterno(String ApMaterno) {
            this.ApMaterno = ApMaterno;
        }
    
        public int getEdad() {
            return Edad;
        }
    
        public void setEdad(int Edad) {
            this.Edad = Edad;
        }
    
        public String getEmail() {
            return Email;
        }
    
        public void setEmail(String Email) {
            this.Email = Email;
        }
    }
    Y finalmente WebDataNegocio

    Código:
    package cl.ipla.web.negocio;
    import cl.ipla.web.vo.UsuarioVO;
    import cl.ipla.web.dao.WebDataDao;
    import java.util.ArrayList;
    import java.util.Iterator;
    
    public class WebDataNegocio{
    public void insertaUsuario (UsuarioVO objUsuario) throws Exception 
    
        {
            WebDataDao objDao = new WebDataDao();
            objDao.insertaUsuario(objUsuario);
        }
    public UsuarioVO[] consultarPersonas(){
        UsuarioVO[] personas = null;
        WebDataDao dao = new WebDataDao();
    
        ArrayList a = dao.consultarPersonas();
    
        personas = new UsuarioVO[a.size()];
        int ind = 0;
        for (Iterator i = a.iterator(); i.hasNext();){
            personas[ind] = new UsuarioVO();
            personas[ind] = (UsuarioVO)i.next();
            ind++;
        }
        return personas;
    }
    Traté en el Controller mediante:

    objUsuario.setRut((String) request.getParameter("rut"));

    tratar de pasar el parámetro "rut" que me lo envía el formulario....pero nada....


    De antemano muchas gracias
    -DFI Lanparty DK 790GX-M2RS
    -Phenom II X2 550 3.1Ghz @ X4 B50 3.7Ghz
    -MSI N570GTX M2D12D5 -
    -Raid 0 2TB (2 WD Caviar Green 1tb)
    -Dragon XG LCD Blue -
    -OCZ XTC Platinum DFI Special 4GB DDR2-800
    -Topower M2 600W-
    -Xfi-Xtreme Gamer +Logitech X530
    -Windows 7 Professional X64

  2. #2
    Usuario Avatar de centinela
    Fecha de ingreso
    27 sep, 07
    Ubicación
    Santiago
    Mensajes
    289

    Re: Pasar parámetro a modelo 3 capas

    Se poco de java, pero voy a ver si puedo ayudar en algo...
    1.-¿Seguro que es "rut" con minúsculas? Un poco más arriba veo que es "Rut".
    2.-Pon el fuente del html que envía la información, el formulario.
    3.-Ponle traza, pa' saber donde se está perdiendo la información. Puede que el controlador no esté recibiendo bien la información. O se este perdiendo en alguna asignación erronea. pa' saber eso y más: traza.

  3. #3
    DFI LANPARTY Owner!!! Avatar de darkantonio
    Fecha de ingreso
    14 oct, 08
    Mensajes
    71

    Re: Pasar parámetro a modelo 3 capas

    jejejeje efectivamente era un problema de codificación pero además de instanciar correctamente el objeto...problema solucionado...gracias "centinela" por tu ayuda....

    Salu2
    -DFI Lanparty DK 790GX-M2RS
    -Phenom II X2 550 3.1Ghz @ X4 B50 3.7Ghz
    -MSI N570GTX M2D12D5 -
    -Raid 0 2TB (2 WD Caviar Green 1tb)
    -Dragon XG LCD Blue -
    -OCZ XTC Platinum DFI Special 4GB DDR2-800
    -Topower M2 600W-
    -Xfi-Xtreme Gamer +Logitech X530
    -Windows 7 Professional X64

  4. #4
    DFI LANPARTY Owner!!! Avatar de darkantonio
    Fecha de ingreso
    14 oct, 08
    Mensajes
    71

    Re: Pasar parámetro a modelo 3 capas

    mmm nop...me sigue dando error y no me llega el parametro !!

    Se agradece de antemano la ayuda
    -DFI Lanparty DK 790GX-M2RS
    -Phenom II X2 550 3.1Ghz @ X4 B50 3.7Ghz
    -MSI N570GTX M2D12D5 -
    -Raid 0 2TB (2 WD Caviar Green 1tb)
    -Dragon XG LCD Blue -
    -OCZ XTC Platinum DFI Special 4GB DDR2-800
    -Topower M2 600W-
    -Xfi-Xtreme Gamer +Logitech X530
    -Windows 7 Professional X64

  5. #5
    Usuario Avatar de centinela
    Fecha de ingreso
    27 sep, 07
    Ubicación
    Santiago
    Mensajes
    289

    Re: Pasar parámetro a modelo 3 capas

    Me imagino q es el mismo código que te da el error. Fijate lo que dice el compilador o el interprete al echarlo a andar (o compilarlo):

    El otro error que te veo, aparte del buscar por "rut" en vez de "Rut", es que llamas a un objeto que no ha sido fabricado:

    Código:
    objUsuario.setRut((String) request.getParameter("rut"));
    Donde creas el objeto objUsuario??? (la creación primer if no cuenta, obvio, por que no pasa por ahí).

Temas similares

  1. El parametro no es correcto
    Por legacom en el foro Almacenamiento
    Respuestas: 5
    Último mensaje: 08/11/2010, 21:06
  2. bios no actualizada ? no tiene parametro 1600 ?
    Por enwar1 en el foro Placas Madre
    Respuestas: 4
    Último mensaje: 09/10/2009, 00:57
  3. Crean disco Blu-Ray de 16 capas
    Por TecnoBot en el foro Gadgets
    Respuestas: 0
    Último mensaje: 30/08/2008, 19:24
  4. Consulta sobre N-Capas
    Por D@nniel en el foro Lenguajes de Programación
    Respuestas: 1
    Último mensaje: 20/07/2008, 16:53
  5. Dvd's De 10 Capas
    Por kenkerkutiv en el foro Noticias CHW
    Respuestas: 31
    Último mensaje: 30/09/2006, 23:51

Etiquetas para este tema

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •  
*