También puedes ocupar los javabean, con esto separas un poco mas tu aplicación en capas, aunque siempre hay que meterle código a la interfaz, simplemente al inicio de tu página declaras tu bean:
Código:
<jsp:useBean id=”registro” class=”usuario.Registro” scope=”page”>
<jsp:setProperty name=”registro” property=”*”></jsp:setProperty>
</jsp:useBean>
con use bean lo declaras,llamas al paquete que contiene la clase: "usuario" es mi paquete y Registro es la clase, con setProperty le dices que todos los campos de tu interfaz se van a llamar igual que en la clase, por ejemplo tienes en la interfaz algo asi:
Código:
<%if ((request.getParameter("boton"))!null){
registro.Agrega();
}%>
<form method="post">
<input type="text" name="nombre">
<input type="submit" name="boton" value="envia">
</form>
Registro es la variable de setProperty q se debe llamar igual q el id del use bean, con eso mandas a llamar al método que desesas, ya en tu clase debe de estar algo asi:
Código:
class Registro{
public String nombre; // se llama igual que en la interfaz
ConexionBd conecta=new ConexionBd(); //si tuvieras alguna clase alterna para tratar la base de datos
public Registro(){
}
public void setNombre(String nombre){
this.nombre=nombre
}
public String getNombre(){
return nombre;
}
public String prueba(){
int dato=0;
dato=conecta.Inserta("Insert into MiTabla(nombre) values ('"+this.getNombre+"')");
}
}
En la la clase es importante crear tus set y get para el atributo de otra forma no hará el insert, dato se refiere a los que devuelve mi objeto de conexion.
Código:
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;
}
Aqui hay una muy buena explicación de lo son los bean