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 ASP:
Ver original
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 ASP:
Ver original
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 ASP:
Ver original
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 ASP:
Ver original
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 en jsp....pero nada....
De antemano muchas gracias