Foros del Web » Programación para mayores de 30 ;) » Java »

Uso de Java Bean, JSP y Servlets

Estas en el tema de Uso de Java Bean, JSP y Servlets en el foro de Java en Foros del Web. Hola buenas noches amigos quisiera que me ayudaran con un problema sucede que deseo guardar los datos en una base de datos que son pasados ...
  #1 (permalink)  
Antiguo 04/02/2014, 00:04
 
Fecha de Ingreso: octubre-2012
Mensajes: 1
Antigüedad: 11 años, 5 meses
Puntos: 0
Pregunta Uso de Java Bean, JSP y Servlets

Hola buenas noches amigos quisiera que me ayudaran con un problema sucede que deseo guardar los datos en una base de datos que son pasados desde un formulario jsp, pero antes de ser guardados estos datos son pasados a otro jsp por medio de una sesion (usando la etiqueta <jsp:useBean), posteriormente esos datos, seran enviados a un servlet el cual se encargara de guardarlos en la base datos.

Mi problema es que no logro guardar los datos en la BD =(

Espero que me haya dado a entender
Adjunto el codigo, espero sus comentarios y sugerencias



Código:

Formulario Datos
<form method="post" action="guardarPersona.jsp">
                <table>
                    <tr>
                        <td>Nombre</td>
                        <td>
                            <input type="text" name="nombre"/>
                        </td>
                    </tr>
                    <tr>
                        <td>Apellidos</td>
                        <td>
                            <input type="text" name="apellidos"/>
                        </td>
                    </tr>
                    <tr>
                        <td>Email</td>
                        <td>
                            <input type="text" name="email"/>
                        </td>
                    </tr>
                    <tr>
                        <td>Password</td>
                        <td>
                            <input type="password" name="password"/>
                        </td>
                    </tr>
                    <tr>
                        
                        <td colspan="2">
                            <input type="submit" name="enviar" value="Enviar"/>
                        </td>
                    </tr>
            
                </table>
            </form>


Código:
guardarPersona.jsp

<body>


        <h1>Guardar Persona</h1>
        
        //hacemos uso del javabean
        <jsp:useBean class="beans.Persona" id="p" scope="session"/>
        //llenamos el javabean
        <jsp:setProperty name="p" property="*"/>
        //enviamos los datos a confirmar.jsp
        <%
            response.sendRedirect("confirmar.jsp");
        %>
        
    </body>

Código:
confirmar.jsp


<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Confirmar datos</title>
    </head>
    <body>
        <h1>Se guardará la siguiente informacion</h1>
        <jsp:useBean class="beans.Persona" id="p" scope="session"/>
        Nombre: <%= p.getNombre()%> <br/>
        Apellidos: <%= p.getApellidos()%><br/>
        Email: <%= p.getEmail()%><br/>
        Password: <%= p.getPassword()%><br/>
        <a href="http://www.forosdelweb.com/f45/GuardarPersona">Guardar BD</a>
        
    </body>
</html>

Código:
Servlet  GuardarPersona.java

public class GuardarPersona extends HttpServlet {

    /**
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
     * methods.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try 
        {
            //Obtenemos la session del cliente
            HttpSession s = request.getSession();
            Persona p = (Persona) s.getAttribute("p");
            
            DtoPersona dto = new  DtoPersona(p);
            //creamos la persona en la base datos
            dto.create();
        
            
            /* TODO output your page here. You may use following sample code. */
            out.println("<!DOCTYPE html>");
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Guardar Persona DB</title>");            
            out.println("</head>");
            out.println("<body>");
            out.println("<h1>Se ha creado una Persona correctamente en DB</h1>");
           
            out.println("</body>");
            out.println("</html>");
        } 
        catch(Exception e)
        {
            System.out.println("Error al crear una persona");
        }
    }

Código:
DtoPersona.java (Clase encargada de guardar los javaBean en la BD)


package dao;
import beans.Persona;
import conexion.ConexionDB;
import java.sql.*;

/**
 *
 * @author Equipo06
 */
public class DtoPersona implements Dao
{
    Persona p;
    ConexionDB conexion = new ConexionDB();
    
    public DtoPersona (Persona p)
    {
        this.p=p;
    }
    
    
    public void create ()
    {
        try
        {
            String sql = "INSERT INTO PERSONA VALUES (?,?,?,?)";
            PreparedStatement pstm = conexion.getConexion().prepareStatement(sql);
            pstm.setString(1, p.getNombre());
            pstm.setString(2, p.getApellidos());
            pstm.setString(3, p.getEmail());
            pstm.setString(4, p.getPassword());
            pstm.executeQuery();
            pstm.close();
            conexion.desconectar();
        }
        catch(SQLException e)
        {
            System.out.println("Error al guardar en la base datos");
        }
        
        
    }

Última edición por charmedever; 04/02/2014 a las 17:14 Razón: olvide unas palabras

Etiquetas: bean, html, jsp, servlets
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:07.