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

Duda con jsp:usebean y hacer un insert

Estas en el tema de Duda con jsp:usebean y hacer un insert en el foro de Java en Foros del Web. Hola, Mi duda es como que me falta poner o a donde hacer referencia, tengo una hoja de registro sencillo con nombre, correo y contraseña; ...
  #1 (permalink)  
Antiguo 23/03/2007, 20:21
 
Fecha de Ingreso: mayo-2006
Mensajes: 137
Antigüedad: 18 años, 1 mes
Puntos: 1
Duda con jsp:usebean y hacer un insert

Hola,

Mi duda es como que me falta poner o a donde hacer referencia, tengo una hoja de registro sencillo con nombre, correo y contraseña; ahi mismo esta mis jsp:usebean y mi setProperty

Código:
Código:
<jsp:useBean class="usuario.Registro" id="registro" scope="page"> </jsp:useBean> <jsp:setProperty name="registro" property="*"></jsp:setProperty>
La hoja con las etiquetas html

Código:

Código:
<%@ page language="java" import="java.util.* , java.sql.*, usuario.Registro" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<jsp:useBean id="registro" class="usuario.Registro" scope="page">
<jsp:setProperty name="registro" property="*"></jsp:setProperty>
</jsp:useBean>
  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'registro.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
  </head>
  
  <body>
    <form method="POST" action="usuario/registro.jsp">
		<p>Nombre</p><input type="text" name="nombre" /><br />
		<p>Correo</p><input type="text" name="correo" /><br  />
		<p>Contraseña</p><input type="password" name="contrasenia" /><br />
		<p><button type="submit">Enviar</button></p>
                
</form>
  </body>
</html>


Aqui la clase de Java donde tengo un método que hace referencia a una clase de conexión.

La clase Registro.java

Código:

Código:
package usuario;
public class Registro {
	private String nombre;
	private String correo;
	private String contrasenia;
	ConexionBd conecta=new ConexionBd();

 public Registro() {
    }
 
	public void setNombre(String Nombre){
		nombre=Nombre;
	}
	public void setCorreo(String Correo){
		correo=Correo;
	}
	public void setContrasenia(String Contrasenia){
		contrasenia=Contrasenia;
	}
	public String getNombre(){
		return nombre;
	}
	public String getCorreo(){
		return correo;
	}
	public String getContrasenia(){
		return contrasenia;
	}
	public void AgregaRegistro(){
			int datos=this.conecta.Inserta("Insert into u_loggin(correo,clave,activacion,id_usuario) values("+"'"+this.getCorreo()+"'"+this.getContrasenia()+"'"+"n"+"1");
			System.out.print(datos);
			System.out.println(this.getNombre());
	}	
}


Y aqui la clase de Conexion a la bd:

Código:

Código:
package usuario;
/**
 * 
 */

/**
 * @author Administrator
 *
 */
import java.sql.*;
public class ConexionBd {
	
	public String error="";
	public Connection con=null;
	private Statement stt;
	private ResultSet rSet;
	
	public boolean conectaBd(){
		boolean resp=false;
		try{
			Class.forName("org.gjt.mm.mysql.Driver").newInstance();
			this.con=DriverManager.getConnection("jdbc:mysql://localhost/bolsa_de_trabajo","root","23456789");
			System.out.print("se conecto a la bd");
			resp=true;
		}catch(Exception e){
			System.out.println("No se puede realizar la conexión");
			System.out.println(e);
		}
		return resp;
	}

	public ConexionBd() {
		super();
	}
	
	public int Inserta (String sentencia){
		int dat=0;
		if(conectaBd()){
			try{
				this.stt=this.con.createStatement();
				dat=this.stt.executeUpdate(sentencia);
				this.stt.close();
				this.con.close();
			}
			catch(Exception e){
				this.error="no se puedo realizar el insert a la bd";
			}
		}
		return dat;
	}
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
			ConexionBd c = new ConexionBd();
			c.conectaBd();
			
	}
}
La clase se conecta bien, pero cuando pongo en el navegador mi jsp no registra en la bd, he buscado ejemplos pero no me queda nada claro.

Si alguién me puede ayudar se lo agradeceria mucho, o si conoce de algún link donde se encuentren ejemplos de jsp:usebean y un insert se lo agradeceria mucho.

Saludos.
  #2 (permalink)  
Antiguo 26/03/2007, 02:32
Avatar de elAntonie  
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 17 años, 3 meses
Puntos: 10
Re: Duda con jsp:usebean y hacer un insert

con.commit()

Un saludo.
  #3 (permalink)  
Antiguo 26/03/2007, 09:16
 
Fecha de Ingreso: mayo-2006
Mensajes: 137
Antigüedad: 18 años, 1 mes
Puntos: 1
Re: Duda con jsp:usebean y hacer un insert

eh ? con.comit() en la clase de conexión? bueno solo tengo esa instancia ahi, checaré....muchas gracias
  #4 (permalink)  
Antiguo 26/03/2007, 10:14
Avatar de elAntonie  
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 17 años, 3 meses
Puntos: 10
Re: Duda con jsp:usebean y hacer un insert

El metodo commit es el que hace efectivos los cambios.

Mas o menos, para que lo entiendas, no se graba nada hasta que ejecutas el commit. Y lo que creo que te esta pasando, es que estas haciendo la insercion pero como no haces el commit no se graba.

seria

con.executeupdate("blablabla");
con.commit();

Por cierto, ya puestos, deberias recoger alguna posible sqlexception y en ese caso ejecutar el rollback() (la inversa al commit)

Saludos.

Última edición por elAntonie; 26/03/2007 a las 10:22
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 05:52.