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="../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");
}
}