style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

[02] Nuestra primera aplicación en Java EE

:Editado:
Nota: La siguiente entrada ha sido editada. Se puede trabajar el ejemplo con el 
Servidor Glassfish o también puede hacerse con Tomcat.

"Stay hungry. Stay foolish"
Steve Jobs (1955 - 2011)

Bueno, esa fue una de las frases del gran Steve Jobs, que en paz descanse.
Ahora si, empecemos con el tema del blog.


2. Nuestra primera aplicación en Java EE.

De qué tratará? Construiremos nuestra primera JSP en Netbeans y la ejecutaremos en el Servidor Glassfish (y más abajo también se trabajará en Tomcat). Espero que esto le sea de utilidad a alguien.

Ejemplo en Glassfish

2.1. Software Requerido

Si aún no has instalado Netbeans en tu equipo, puedes bajar la versión que incluye el Servidor de aplicaciones Glassfish 3, desde este enlace:
http://netbeans.org/downloads/index.html
La instalacion es demasiado sencilla.

2.2. Algo de Teoría.

Las JSP’s se utilizan para generar contenido dinámico en nuestras páginas web. Usando HTML y código Java embebido, es decir, podemos usar Java dentro de una página HTML :D.
Las JSP’s son tratadas como un servlet y aunque los servlets también son usados para generar contenido dinámico, el uso que se les da habitualmente es para usarlos como un intermediario entre el modelo de negocios de nuestra aplicación y la interfaz de usuario de la misma. Además es muy tedioso tener que construir la interfaz con instrucciones “prinltn” dentro del servlet.
Puedes encontrar más información en: http://java.sun.com/products/jsp/docs.html

2.3. Creación del Proyecto.

Paso 1. En netbeans, damos clic en Archivo > Nuevo Proyeto.
Paso 2. Elegimos JavaWeb > Aplicación Web y luego click en Siguiente :

Paso 3. Ponemos el nombre de nuestro proyecto, y los demás valores los demás valores los dejamos por defecto. Luego damos clic en Siguiente:

Paso 4. Los valores que se muestran se pueden dejar por defecto, así que damos clic en Siguiente:

Paso 5. Como no vamos a usar frameworks en nuestra aplicación, no marcamos ninguna opción. Así que damos clic en Finalizar:

2.4. Un poco de código.

Los pasos anteriores crearon en nuestro proyecto un archivo llamado index.jsp.
Entre las etiquetas body, borra el contenido que allí existe. Y escribimos:

<h2><%="Hola Mundo en JSP"%></h2>

las instrucciones "h2" son etiquetas HML.
Se le llama scriptlet al conjunto de instrucciones java encerradas entre <% y %>.
La anterior instrucción es lo equivalente a decir en Java SE :

System.out.println(“Hola mundo en JSP”);

2.5. Ejecución.

Para ejecutar nuestro proyecto simplemente damos clic derecho en nuestro proyecto y elegimos Ejecutar:

Esperas a que se inicie el Servidor, y se presentará algo como esto:

2.6. Empaquetado

En Java SE, las aplicaciones se empaquetan en un archivo ".jar", en Java EE, las aplicaicones se empaqueta en un archivo ".war". Para hacerlo, simplemente damos clic derecho en nuestro proyecto y elegimos Limpiar y Construir:

Lo anterior genera el archivo “HelloWorldJSP.war” en la carpeta dist de nuestro proyecto.
Ten a la mano este archivo, los vamos a usar en la siguiente entrada del blog. Veremos como instalarlo manualmente en Glassfish.


Ejemplo en Tomcat.

2.7. Instalando tomcat en nuestro equipo

Bajamos la versión del Tomcat , desde el enlace que pongo a continuación, en la parte que dice “Binary Distributions”, las distribuciones para Windows son las terminadas en “.zip”, las versiones para Linux son las terminadas en “tar.gz”, Voy a usar Tomcat 6, porque aún estoy usando Netbeans 6.8, simplemente por eso, pero tú puedes usar el Tomcat 7 si así lo prefieres:

http://tomcat.apache.org/download-60.cgi

Ahora, extrae los archivos y copia el directorio directamente en el “C:/”.
Ahora debes registrar las siguientes variables de entorno en tu equipo:

JAVA_HOME:    C:\Archivos de programa\Java\jdk1.x.x_x\
CATALINA_HOME:     C:\apache-tomcat-6.0.33

Dirígete a la carpeta bin donde instalaste Tomcat, y ejecuta el “startup.bat”:
Si todo está bien, debería aparecer una consola y al final debería decir:

INFO: Server startup in xxxx ms

Ahora, abre tu explorador y escribe la siguiente url:

http://localhost:8080

y como resultado obtienes esto:

Ahora, para detener el servidor, ejecuta el "shutdown.bat" de la carpeta bin.

2.8. Integrando Tomcat y Netbeans.

Abrimos netbeans y damos clic en Herramientas > Servidores :

Netbeans tiene instalado un Tomcat por defecto, pero en lo personal, no te recomiendo usarlo. Damos clic en Agregar Servidor:

Elegimos el Tomcat que vamos a instalar, en este caso, el Tomcat 6 y damos clic en Siguiente:

En Server Location, debes elegir la ruta donde instalaste Tomcat, Marca la opción que dice Uso Privado y en Catalina base, busca nuevamente la carpeta donde instlaaste tomcat.
Escribe un nombre de Usuario y una contraseña:

Y listo ya quedó instalado el Tomcat en Netbeans. Da clic en Cerrar.

2.9. Creación del Proyecto.

Los dos primeros pasos, son iguales que los de la sección 2.3.
Paso 3:

Paso 4: Elige el Tomcat como servidor esta vez y da clic en Finalizar:

2.10. Codificación.

Nuevamente codificamos nuetsra jsp:

<h1><%="Hello World en JSP en Tomcat !"%></h1>

Da clic derecho en el proyecto y clic Ejecutar y obtendrás algo como esto:

2.11. Empaquetado.

El proceso de empaquetado es el mismo que el de la sección 2.6.


Eso es todo por ahora. Comentarios, sugerencias, correcciones, críticas y demás
   son bienvenidas.

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Estare pendiente de futuras publicacioes tuyas

Pues de JSP no se nada , asi q estare atento a tus proximas publicaciones Gracias

Duda JSF/JSP

Tengo entendido que de hace tiempo que JSP quedó de lado para abrir paso a JSF (que tengo entendido es la tecnología/framework oficial de JavaEE). Lo que no entiendo es porqué no mejor te pasas a JSF, ¿o es necesario aprender primero JSP y luego JSF?

Es una de las confusiones que he tenido desde que he llegado a Java. Otra cosa es, ¿qué ventajas ofrece uno y el otro?, porqué de no haber sido por hacer mejor las cosas no se hubiera creado JSF, que supongo JSP sigue siendo desarrollado porqué sigue habiendo muchas aplicaciones JSP en producción.

En fin, espero que me pudieran responder esta duda.

Por cierto, parece buen tutorial, sólo que no se muestran las imágenes.

Bueno aqui hay que hacer bien

Bueno aqui hay que hacer bien la distincion JSP es una tecnologia de presentacion, JSF(JavaServer Faces) es un framework que vendria a competir y no sustitur a otros frameworks como Spring MVC, Struts, GWT entre otros, en realidad lo que vendria a sustitur a JSP seria XHTML de hecho en JSF puedes trabajar de manera opcional entre JSP o XHTML dependiendo de conocimientos o gustos, en mi muy personal punto de vista el autor de esta entrada esta en lo correcto en empezar con JSP pues el lo mas basico(aunque podria empezar por servlets), siempre hay que mepezar por el principio(¿cuanta gente no conocen que saben frameworks muy avanzado pero desconocen que todo se reduce a servlets?), lo unico es que yo empesaria con un tomcat en lugar de un glassfish.

Saludos.

@t-bluetherOk... vale,

@t-bluether
Ok... vale, seguiré continuando este tema, tenlo por seguro... Aunque ahora estoy pensando si hablar en mi blog de varios temas en desorden o ya ni sé... hehe.. (lo voy a pensar un poco)


@wishmaster77
JSF es un framework web pensado para la capa de presentación de nuestra aplicación, para que sea más simple el desarrollo de las interfaces graficas Web. Puede trabajar con JSP's, aunque tambien con XHTML, como lo menciona @jcheko. Ahora bien, si ves la primera entrada de mi blog, puse que primero hablaría de JSP y luego mas adelante de otras cosas. Por qué? porque pensé que era necesario conocer lo básico :D.
Es como cuando vas a trabajar Hibernate, primero debiste conocer JDBC.

Por cierto, las imagenes se ven perfectamente... :D


@jcheko
Lo de empezar por servlets, creeme que lo pensé, aunque un Servlet es lo más basico que existe en Java EE me decidí empezar con JSP.
Ahora, Por qué no uso Tomcat?...
Pues, como el Glassfish viene incluido como servidor por defecto en Netbeans por eso lo trabajé con dicho servidor.
Aunque en la instalación de Netbeans también ofrece instalar tomcat. (Ya ni me acuerdo :D)
Pero como tú bien sabes, los IDEs permiten integrar servidores, asi que quien trabaje con Tomcat puede integrarlo y seguir los mismos pasos de esta entrada del blog.
Imagen de LWSH

muy buen segundo post

podrias dar una pequeña explicacion para trabajarlo con tomcat y cual es mejor jsp o xhtml y que framework es mejor Spring MVC, Struts, GWT, JSF,Seam y que diferencia hay entre tomcat , jboss y glassfish

Imagen de ingscjoshua

Diferencias

Hola Tomcat es un Servlet Container y Jboss, Glasfish, Etc. Son servidores de apliaciones, a todo esto que significa? bueno pues sencillo.

Servlet Container:

en este solo se puede hacer despliegue de WAR'S es decir solo se pueden desplegar aplicaicones WEB de forma individual, no tiene capacidad nativa de soporte a JNDI, espero no estar diciendo una tonteria jeje se puede hacer un JNDI de forma implicita, pero eso es otro tema la diferencia principal es esa solo se pueden desplegar WAR'S.

Application Server:

Este a diferencia de un Servlet container permite el desplige de apliaciones web en un conjunto como un modulo EAR, el despliegue de EAR's, creacion de JNDI, manejo de JMS,Servidores de correo ETC...

Espero haber sido claro con esta breve explicacion. jejeje...... :)

Imagen de ingscjoshua

cual es mejor??? ammmmm

Pues mira depende de paraque lo vas a utilizar el usar uno u otro framework es decision 1 infraestructura, 2 gusto 3 conocimiento.

Yo particularmente he utilizado JSP y Servlets, Struts 1 y 2, Jsf 1.2 y 2, y algo muy parecido a SEAM de Jboss pero que era propietario de una empresa donde laboraba.

Te puedo comentar decir que uno es mejor que otro es un juicio relativo porque cada quien habla de como le va en la feria, yo te puedo decir que mi experiancia con jsp y servlets ha sido buena aunque requiere mucho tiempo de desarrollo porque todo los construyes tu!!!, lo que obiamente te da todo el control, pero que a su vez implica mayor tiempo de construccion, con Struts1 mi experiencia ha sido muy buena te puedo decir que si ya usaste jsp y servlets struts 1 no es tan complejo la curva de aprendizaje no es tan larga y el desarrollo se simplifica, con struts2 ammm me quedo un mal sabor de boca dado que yo esperaba una evolucion de struts1 cosa que no sucedio como tal tomaron webWork y le pusieron cosas de struts1 y amm pues por ejemplo su inyeccion de dependencia entre el action y el jsp no es tan buena depronto no le gustan los nombres de los atribuos y no te inyyecta los valores.

con JSF ufff!!! pues te puedo decir que si bien la curva de aprendizaje es notablemente mas larga que con struts una vez que lo comprendes es mas facil y rapido desarrollar, particularmente acabo de terminar un proyecto donde implementamos JSF 2 y mi experiencia como desarrollador fue muy buena!!!! me dejo muy satisfecho eso de no necistar un XML para los mapeos!!! las anotaciones son muy buenas ademas del scope de Vista que es genial para hacer ajax.

pero claro habra quienes opinen lo contrario!!! y esque cada quien habla de como le va en la feria asi que tendrias que usarlos y decidir cual es tu favorito!!!! :) jejej

Qué framework es mejor?

@LWSH
Pues si, voy a editar esta entrada para quienes quieran trabajarlo en Tomcat así lo hagan.

Con respecto a que Framework y que Servidor es mejor, la verdad, en mi opinión personal, es cuestión de gustos simplemente, aunque debo aclarar que yo no es que sea muy experto en el tema de frameworks, es decir, no he prendido toda esa cantidad de frameworks. Incluso, ahora he intentado aprender Spring, pero no se por donde empezar :D.
Yo solo te digo que tú mismo debes decidir que cosa te conviene mejor para unos casos y que elegir en otros casos. Se debe intentar con todo y tú mismo sabrás cual es el que debes usar para resolver tu problema.

Imagen de neko069

Sólo como recomendación, no

Sólo como recomendación, no hay mejor forma de aprender cualquier framework, más que empezando por la propia documentación del framework.

con respecto a Tomcat

@neko69.
Ok gracias.. :D


Ahora para los que leen esta entrada:
Con respecto al post de Tomcat.
Creo que más bien haré nueva entrada, creo que saldía mucho material para ponerlo en nueva entrada.

Re: cual es mejor??? ammmmm

[...]particularmente acabo de terminar un proyecto donde implementamos JSF 2 y mi experiencia como desarrollador fue muy buena!!!! me dejo muy satisfecho eso de no necistar un XML para los mapeos!!! las anotaciones son muy buenas ademas del scope de Vista que es genial para hacer ajax.[...]

Una observación es que para los mapeos desde la especificación 3 de los servlets no es necesario mapear vía XML, ahora puedes hacerlo por anotaciones. Puedes revisar unos ejemplos aquí.

En lo personal, a mi me caen mal Struts 1 y 2. Struts 1 pues es un pelito arriba de JSP/Servlets, además que en mi experiencia es complicado ir brincando entre acciones y tiles...Ese paradigma de medio componentes medio acciones no me agrada.

Con JSF, pues todo el mundo me dice que es lentísimo desarrollar, que es pesado y de lejos es para proyectos para ayer a las 9:00am. Además dicen que muchas cosas las hereda de Struts.

Respecto a más frameworks, pues me gusta Spring MVC, se me hace sencillo. En el caso de tener idea de SWING/AWT está el poder usar Wicket. Quizás crossbrowsing AJAX es lo que te gusta, puedes probar GWT o Vaadin (yo me dencataría más por GWT). Si lo que te interesa es comunicar HTML plano para las páginas y Java plano para la lógica y la persistencia, puedes usar Play!. Si lo que quieres es algo parecido a Play! pero con un lenguaje menos ceremonioso, tienes la opción de Grails. O si eres de esos que tienen experiencia previa en algún framework de otro lenguaje (Python, Ruby, etc) pues puedes usar las implementaciones de esos frameworks para la JVM.

En fin, cómo menciona @ingscjoshua depende de gustos, necesidades, preferencias u obligaciones.

Ya arreglé las imagenes

Ya arreglé las imagenes :D

Imagen de LWSH

gracias

muy buena la explicacion al fin entendi la diferencia entre tomcat y jboss y sobre los framework no he trabajado en struts vere que tal me va con ellos

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">