** Tutorial JSP y bean **

Te invitamos a conocer una supere promoción…….todos los productos a $1.00 + 75.00 de envio…memorias, teclados, mouse….. solo este mes!!!

Es muy importante tener separado el código de la interfaz en una aplicación web, soluciones como .net, java y ruby son los mas avanzados en este aspecto, seguido de PHP 5 que apenas anda avanzando en esos aspectos.

Yo ocupo Java por mi tesis, una de las diferencias con asp es el servidor, asp solo correo sobre windows, mientras que tomcat, el servidor de los jsp, sobre cualquier S.O.

Aquí he armando un pequeño tutorial para los pobres como yo que tengan que hacer un sistema que incluya el acceso a la bd, este ejemplo es solo de un insert, espero les sirva.

Primero habra que descargar la nueva versión de netbeans. Netbean y no eclipse, por que es un IDE que esta mejor, ya viene con el Tomcat incluido, si quieren ocupar eclipse tendrían que buscar la versión de myeclipse y es de paga, además que no esta nada bueno.

Una vez realizado, habrá que buscar el driver de mysql para java, solo hay que entrar a la página de mysql y descargarlo, una vez realizado tenemos que buscar la carpeta de Netbeans en nuestro directorio y seguir la siguiente ruta: C:/program files/netbeans5.5/enterprise3/apache-tomcat/common/lib y en lib pegar nuestro mysql-connector-java.jar .

Vamos bien, abrimos nuestro glorioso netbeans y creamos un proyecto web file-New Project-Web, lo demas es darle nombre…bla…bla, por intuición jeje.

Vamos bien?, va!!, ahora la maravilla llamada netbeans nos ha creado de lado derecho un iconito de un globlo azul, con el nombre de nuestro proyecto, si lo abrimos veremos que ha creado una estructura como la siguiente:

est1.JPG

 

 

 

 

 

Esta es una parte importante, en :

Web pages se van a guardar nuestra interfaz, cualquier archivo con contenido html estará aquí.

Source Packages: guardará todas las clases, todo aquello que tenga que con código o modelo de control estará aquí , es muy recomendable y básico que antes de crear tus clases hagas «paquetes», así podrás hacer un uso mas controlado de los bean.

Libreries: recordarás que has pegado el archivo de mysql-driver-java en common/lib, pues ahora solo hay que agregarlo a nuestra libreria para poder hacer uso de el, esto es muy sencillo, dando clic derecho en libraries aparecerá un menú emergente donde seleccionaremos Add Jar/Folder y buscaremos el mysql-driver-java.

Hasta ahora ningún problema creo yo,biene lo bueno, el código, aqui esta esta clase que he llamado «ConexiónBd», para crearla nos vamos Source Packages , botón derecho y de una vez creamos nuestro «paquete», seleccionamos la opción de New – Java Package le damos un nombre al paquete y listo, repetimo el proceso de source…botón derecho pero ahora crearemos la clase, igual de sencillo, botón derecho New-Java Class .

Crearemos algo como esto:

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();

}
}

Es esqueleto de la conexión se la debemos al malisimo malo , un develop muy locochon en java.

No me voy a detener a explicarla, mejor entren a google y busquen referencias.

Ya tenemos algo que es la clase que conecta, ahora vamos a crear la clase que de Registro, el proceso es mismo que el pasado y quedará algo asi:

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

public Registro() {
super();
}

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 prueba»+
«(nombre,correo)»+
«values (‘»+this.getNombre()+»‘,'»+this.getCorreo()+»‘)»);
}

}

En las dos clases hay que poner atención al contructor, tu clase debe de llevarlo, el constructor es esta parte:

public Registro() {
super();
}

Apunto de terminar, solo falta la interfaz , de la misma manera que se agrego el paquete, ahora daremos clic en web pages – New- Jsp y no has creado parte de la interfaz, yo la he nombrado registro.jsp y el código es este:

<%@ page language=»java» import=»java.util.* , java.sql.*, usuario.Registro» pageEncoding=»ISO-8859-1″%>
<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>
<body>
<% if (request.getParameter(«nombre»)==null &&
request.getParameter(«correo»)==null &&
request.getParameter(«password»)== null) {
%>
<form name=»registro» 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>
<% }else{
registro.AgregaRegistro();
}%>
</body>
</html>

Podran notar a simple vista que hay el código en jsp, el que esta en <%%> es mínimo, por lo cual hemos respetado el principio de mantener separado nuestro modelo, como dato java maneja «n capas» y no el típico de 3 capas.

El corazón de esto comienza aqui:

<%@ page language=»java» import=»java.util.* , java.sql.*, usuario.Registro» pageEncoding=»ISO-8859-1″%>

Con esa instrucción estamos jalando a esta hoja como mínimo nuestra clase (importante!!) y las librería de sql de java .

El bean, la parte que liga nuestra clase con la interfaz, este bean se compone de:

<jsp:useBean id=»registro» class=»usuario.Registro» scope=»page»>
<jsp:setProperty name=»registro» property=»*»></jsp:setProperty>
</jsp:useBean>

<% if (request.getParameter(«nombre»)==null &&
request.getParameter(«correo»)==null &&
request.getParameter(«password»)== null) {
%>

<% }else{
registro.AgregaRegistro();
}%>

id: es declarar una variable con la cual vamos a identificar a esa clase

class: invocamos a nuestra clase

scope: son 4 tipos sesion, page,request y application

En este caso es page, por que solo queremos mantener con vida ese bean mientras estamos en esa hoja.

<jsp:setProperty> ayuda hacer el insert, set property espara asignar los valores de nuestros text en html a java, este se compone de :

Name: el nombre de este set, que tiene que ser igual o se recomiendo sea igual al id del bean .

Property :al poner «*»estamos diciendo que nuestras variables en la clase se llaman al igual que la interfaz, esto lo vemos aqui x ejemlo

en a clase en la pagina

private String nombre; <p>Nombre</p><input type=»text» name=»nombre» /><br />

private String correo; <p>Correo</p><input type=»text» name=»correo» /><br />

private String contrasenia; <p>Contraseña</p><input type=»password» name=»contrasenia» /><br />

 

La pregunta:

 

<% if (request.getParameter(«nombre»)==null &&
request.getParameter(«correo»)==null &&
request.getParameter(«password»)== null) {
%>

 

Simplemente si los text estan vacios nos lleva al form, una vez llenados invocamos:

 

<% }else{

registro.AgregaRegistro();

}%>

 

Invocamos al método que esta en el código de Registro.java con registro.AgregaRegistro(); , registro es el id del bean.

 

¿Qué le falta a esto?

 

Si registras a en email tiene primero que hacer un búsqueda.

Establecer sesiones.

Reenviarlo a otra hoja.

El código en javascript.

 

Conforme avance lo postearé, espero que esto les sirva, no soy ningún experto en java.

 

Ligas recomendadas:

http://www.jsptut.com/Forms.jsp

http://java.sun.com/developer/technicalArticles/xml/WebAppDev/

http://www.mygnet.com/articulos/j2ee/781/

http://geneura.ugr.es/~jmerelo/JSP/

Si tienes correcciones a esto o aportaciones, x fa comentalas aquí para también aprender

 

 

43 comentarios en “** Tutorial JSP y bean **

  1. mil gracias, seguir cada paso es el truco

  2. Que ona con esto, no funciona, de favor si puedes mandar todo el código o las páginas completas que usaste te lo agradecería.

    Un saludo

  3. Gracias por el tutorial, lo he desmenuzado por completo y comprendido, gracias por tomarte el tiempo.

  4. me ha servido de mucho este manual pero apasar de eso estoy haciando un sistema paro como que ya me hice bolas jajaj… ya tengo una parte aver si me pudeis ayudar un pokito….

    me falta hacer una deduccion de la edad donde tomo como referencia la fecha de naciomiento y la fecha de muerte y si no ha muerto tomo la fecha actual en la que estamos…pero todo esto se encuantra en la base de datos como arg1, arg2.

    bueno aqui dejo el codigo para checar los errores…

    ……….
    ……….
    ……….

    $(function(){

    $(«#ya»).jSuggest({
    url: «autocompletar.jsp»,
    type: «GET»,
    data: «searchQuery»,
    autoChange: true
    });

    });

     
    Universidad Autonoma del Carmen
     

    Dependencia Area Ciencia

    s de la Informacion

     
     

    Principal
    SBR
    Acerca de


    SISTEMA DE PREGUNTA-RESPUESTA

     
     
     

     

    Donde nacio … ?

    Cuando nacio … ?

    Donde murio … ?

    Cuando murio … ?

    Cual es la edad actual… ?

    nacio en

    nacio el

    murio en

    murio el

    No se encuentra informacion al respecto!!!

    Edad al año en que murio es de edad

    edad actual

    no se puede obtener la edad

     

    Universidad Autonoma del Carmen. Dependencia Area Ciencias de la Informacion.

    • José,

      Soy Julio, administrador de aumakua, una disculpa por responder apenas pero deje durante un par de anos este blog. Si en algo aún te puedo ayudar estamos en contácto.

      Saludos

  5. Cual es la necesidad de usar beans si con sql lo hacemos más simple.

  6. Have you done any other good stuff lately? ,

  7. Hola yo soy novato en este tema, y tengo una duda, tengo entendido que el boton enviar llama a un metodo, en que parte del codigo se enlasa en evento del boton con algun metodo, porque cuando crean el boton, en ninguna parte mas del codigo aparece.
    Muy buen post.

  8. Hola, aqui pidiendo ayuda, tambien me estoy iniciando en esto de los JSP e IDE. Segui las instrucciones, bajé la ultima version de netbeans, pero cuando baje el conector de base de datos para MySql y Java, a la hora de buscar la ruta «C:/program files/netbeans5.5/enterprise3/apache-tomcat/common/lib » no la encontré, solo llegue a «»C:/program files/netbeans6.5/enterprise5″ y alli dentro no aparece nada relacionado con apache»,
    Pregunta: En que directorio debo pegar el Mysql Java Connector? «mysql-connector-java-5.0.8-bin.jar» (Que baje del site de sun)

  9. Muy buen post .. felicitaciones .. me sacaste de un apuro

  10. amigo estoy haciendo un proyecto en net beans tirnes algo sobre una calculadora ceintifica te agradeceria mucho

  11. m parecio interesante pero al ejecutar no m sale la pagina directamente, sale:

    Directory Listing For /

    ——————————————————————————–
    Filename Size Last Modified
    registro.jsp 0.9 kb Thu, 15 Jan 2009 02:41:43 GMT

    si le doy click en registro.jsp m vota:
    Nombre== espacio para el nombre
    Correo==espacio para el correo
    Contraseña==espacio para la contraseña
    y el boton de enviar.

    pero no m conecta con la base de datos
    si me pudieran ayudar hacer la conexion con la base de datos utilizo mysql gracias por la colaboracion

  12. Esta si es una manera sencilla de explicar cosas simples pero vitales a la hora de aprender un nuevo lenguaje o una nueva tecnología, está muy muy muy bueno, ya no hay excusas para no meterse de lleno con NetBeans y JSP…

  13. jajajajajajaja, asi es , asi como me trobaban los cajeros…aaah perdon q era el hardware jodido q tenian, si, si, el hardware que impedia q se lanzara tomcat jajajajajajaja, eso merito!.

  14. jajaja es que el wey que hizo este tutorial no sabe nada de buenas practicas, verdad mijo, si te dijera como truenan los sistemas que hace este chavo….

  15. HOla!

    Como tu mismo comentas al inicio de tu escrito, la idea de la plataforma JEE, siempre ha sido desde el inicio, separar la capa de lògica de negocio de la presentación y de la de persistencia.

    SIn embargo, en tu código, pones un pequeño scriptlet (codigo java!!!!), con esto rompes el principio que tu mismo comentas… Mezclas lógica con presentación.

    JSP provee tags condicionales e iterativos que te permitiran evitar el uso de scriptlets como lo estas haciendo. Si bien, no pasa nada, considero apropiado hacerte la observaciòn para que tu rabajo de tesis quede mejor :p.

    Seguramente sabes de la existencia de JSTL y del Lenguaje de Expresiones EL. Usalos!

    Luego pues, seria buena idea, miraras un poco a Java Server Faces!

    Saludos!!

  16. hola: bueno quiero comentarles mi problema..o algo asi es lo que tengo, lo que pasa es que me pidieron que realice un programa utilizando JSP, este programa tiene que hacer que un arbol binario se dibuje en el servidor de JSP y que el usuario lo pueda visualizar en una pagina…ahora bien yo tengo todo el codigo implementado de el arbol binario mas el graficador que lo muestro en un JFrame pero ahora no se como lo puedo mostrar en una página web con JSP si alquien me puede ayudar se lo agredecere mucho…chauu

  17. wasa wasa, esta muy bien el ejemplo, me quedo muy claro….. chevere….

  18. Esta padre el tutorial, voy a probarlo con Eclipse, que por cierto es GRATUITO en su versión original y aunque tiene otro modo de configurar las cosas es igual que Netbeans, además carga más rápido que el Netbeans 😛

  19. Nel , no sirve esta madre…jajaja

  20. Interesante tu manual, ya me habia olvidado algunas cosas del .jsp, gracias x tu tiempo, y dedicatoria al realizar este minituto, basico simple y entendible, un saludo desde Lima Perú, ya agregare unos ejemplos básicos mas adelante para q los agregues… 😉

  21. gracia por el manual m sirve de mucho para aprender loq necesito

  22. hola me parece bien q hayas puesto tu manual..
    pero le fata estandares y definir mas claro las capas usando JDBC ….pero buen aporte..

  23. hola aumakua:

    Muy buen tutorial, yo tambien estoy realizando una tesis con java, por las mismas caracteristicas que mencionaste, ojala puedas seguir publicando mas de estos … espero me puedas agregar al msn me gustaria mucho… BYE!!!!

  24. vale parse gracias yo estoy estudiando y en tre los progrmas que veo esta jsp he visto poco la verdad pero se que saldre ducho de esto me encanta todo lo realcionado con java ha y apropocito pruebe el ultimo netbeans exelente con macromedia osea el html incorporado hace poco tuve una conferencia con sun microsistem y uno de sus temas era darnos a conocer este sistema exelente cuando quiera scribame y nos pasamos datos, me encanta esto y lo estoy estudiando

    y si me logra entender bacano por estar el la luz y no el lado oscuro de la fuerza microsft pesimos si me entende bien si no escribame y le esplico bien todo bien y cracias parce

  25. necesito saber como configurar netbean,posgre y apache tomcat en suse 10.2 ¿me ayudarias?

  26. hola buen tutorial…
    tengo unas dudas no se si me puedan auxiliar…
    como puedo mostrar informaciòn en comboslist consultando desde una bd en mysql, para despues de elegir la opciòn registarla en otra tabla…
    espero respuestas… gracias

  27. Para conectar MySQl y Java necesitas descargar el API ofrecido en la página de MySQL (http://dev.mysql.com/downloads/connector/j/5.1.html ) y para correrlo en eclipse solo tienes que agregarlo al Build Path de tu proyecto ( Project > Properties > Java Build Path > Libraries > Add Externals JARs…

    Espero esta información te sirva, cualquier detalle puedes mandar un correo a klowjegg@hotmail.com.

  28. necesito conecta mysql y java en eclipse necesito saber porque no e acepta el codigp qe necesito intalar en eclipse para que funcione

  29. mmmm….. frameworks conocidos para jsp struts, pagina oficial http://struts.apache.org/.

    al autor:
    muy bueno, tu material, actualmente estoy haciendo un proyecto web para la defensa de tesis, y me gustaria poder intercambiar ideas para posibles dudas, si puedes escribeme al email o agregame al msn… Gracias!!!

  30. Oye Julio ,
    Actualmente estoy programando el sistema del Azul Tequila, ahorita estoy en el modulo financiero; y me salio una duda ,bueno no se si tu conozcas de algun tipo de framework que me permita hacer las tareas mas automatizadas y faciles,
    Espero me puedas recomendar uno y ayudar a programar cada vez mejor…..
    Por que eso de JSP y Beans la verdad que esta muy obsoleto mi Juliio, me decepcionas..!!!!

  31. Necesito saber como veo el diseño de un jsp en netbean… en mi caso solo veo el editor, osea el codigo…. necesito ver el diseño para ver como esta quedando sin ejecutarlo.

  32. Gracias, no hay necesidad de configurar nada, netbeans lo lanzo por default, si estas en windows también puedes bajar la versión ejecutable y en la carpeta webapps guardas tus archivos.

    Saludos.

  33. Me parecio muy bien tu explicación. De verdad gracias, el detalle es que no se como configurar el servidor

  34. aumakua, muy buen ejemplo de como utilizar bean con jsp. Gracias, me fue de gran ayuda.

  35. hola como ta me parecio interesante tu manual espero me envies tu correo para conversar ami tmb me gusta java jsp espero tu respuetsta te dejo mi correo que lo tienes bye espero me agregues

  36. hola ocupo Netbean, tal como lo explica el tutorial «Primero habra que descargar la nueva versión de netbeans.» y seguí los paso uno a uno.

    Finalmente lo solucioné con compilarlo y funcionó sin problema «Run».

    ¿Que tal es myeclipse?
    también hay otro híbrido de eclipse llamado EasyEclipse.

  37. Ese mismo mensaje me mostraba a mí pero ocupando eclipse o myeclipse, por que no reconoce el bean.

    Que herramienta ocupas?.

  38. Hola, gracias por el manual, tengo un problema:

    no he podido hacer funcionar el sistema, y he seguido paso a paso.

    El error es el siguiente:

    Post en Foros del Web

    ¿Será pro la versión de java?
    Tengo instalada JDK 6u1

    Saludos.

Deja un comentario