La web cada vez es más dinámica; a contrario a como era en un principio. Ese dinamismo se basa en la inclusión de nuevas tecnologías dentro de las paginas que habitualmente visitan los internautas. Es ahí donde Java Server Pages (JSP) entra en juego, siendo multiplataforma y con código Java. Esta es una de las tantas ventajas y características de este lenguaje orientado al desarrollo de sitios dinámicos. ¿Quieres conocerlo más a fondo? Continúa leyendo.
Java Server Pages, al igual que PHP, puede usarse en conjunto con los formatos HTML, XML y XHTML. Una de sus características es la de incluir aplicaciones Java del lado del servidor, y que estos las procesen previamente antes de que el usuario las visualice en el navegador. Dichas aplicaciones son conocidas como Servlets.
A diferencia de JavaScript, con un archivo JSP podrías dejar la lógica empresarial del lado del servidor (por ejemplo, conectarse a una base de datos). Recordemos que JS ejecuta el código del lado del cliente. Las exigencias son mínimas, ya que dentro del propio código se ejecuta un Servlet con su propio motor dentro del archivo.
El lenguaje, al utilizar tecnología Java, es multiplataforma dado a que se ejecuta en una máquina virtual, claro desde el lado del servidor. El uso de este lenguaje es similar a lo que hemos visto en PHP, utilizando como extensión .JSP. El archivo como tal incluye todas las sentencias en HTML de forma estructurada, al igual que el código que será ejecutado para la aplicación Java.
Cuando el código de la app es ejecutado, se realiza una “transformación” de código hasta un archivo .class. Cuando esto ocurre, puede haber una pequeña demora, aunque también los desarrolladores tienen la opción de hacer el pre-compilado del código JSP para evitar que el usuario presente malas experiencias. De todas maneras, este solo debe llevarse a cabo una sola vez (durante la primera solicitud del cliente).
La interfaz de usuario de este lenguaje de programación con tecnologia JSP, cuenta con diversas características que permite crear páginas web, aplicaciones web, permitiendo escoger el servidor web donde se va a ejecutar la aplicación.
Ejemplos de código en Java Server Pages
En resumidas palabras, JSP es un lenguaje orientado a manejar tanto la lógica empresarial como la presentación de los sitios webs, todo a nivel de servidor. Es multiplataforma y utiliza código HTML y otros para complementarse ¿interesante verdad? Ahora que ya tenemos eso claro, pasemos a ver un ejemplo de código de Java Server Pages de forma directa.
Comentarios
Los comentarios en formato JSP no aparecerán como código HTML del navegador, por el contrario, aquellos en el formato HTML si lo harán.
<%-- comentario en formato HTML --> <%-- comentario en formato Java Server Pages --%>
Expresiones
Las expresiones o funciones pueden también usarse en JSP, tan solo deberán introducirse dentro de las etiquetas “<%= %>”, sin las comillas. Una vez ejecutada la función, el resultado será mostrado como parte del código HTML del sitio web. Veamos un ejemplo en el código:
<html> <head> <meta http-equiv="Content-<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Ejemplo de funciones o expresiones en JSP</title> </head> <body> <H1>Ejemplos de expresiones</H1> <%-- Mostrar el resultado de una operación --%> <%= (5+2)/(float)3 %><br> </body> </html>
Scriplets
Los llamados Scriptlets, son fragmentos de código Java que puede ejecutarse dentro de un archivo HTML, una vez más recordamos que a nivel de servidor. Para su uso basta con incluir las instrucciones dentro de las etiquetas “<% %>” sin el uso de comillas. Aquí te presentamos un ejemplo de su uso:
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Ejemplo de Scriplet en JSP</title> </head> <body> <H1>Este es un ejemplo práctico de Scriplet en JSP</H1> <% int numero = 3, factorial = 2; for(int i=numero; i>2; i--) { factorial *= i; } %> <%-- Dentro de la siguiente etiqueta se mostrará el resultado del factorial usando fuente e formato negrita --%> <%= "El factorial de <b>"+numero+"</b> es <b>"+factorial+"</b>" %> </body> </html>
Requisitos para codificar en Java Server Pages
Ahora bien, para poder codificar en JSP deberás tener un mínimo de conocimientos (o la experiencia será algo frustrante), entre ellos, haber al menos manejado código en HTML y Java. Recordemos que Java es un lenguaje que utiliza la programación orientada a objetos como paradigma. Y, como en el caso de PHP, utilizar un servidor local a manera de que puedas ejecutar tus webs sin necesidad de un equipo remoto.
Algunos de los servidores o contenedores de Servlets que puedes usar incluyen a Tomcat, quien tiene soporte oficial de JSP. Eso es todo, lo demás es practica y mucha paciencia para lograr buenos resultados y tener una página dinámica totalmente gestionada a nivel de servidor.
¿Qué te ha parecido JSP? Es un lenguaje potente y con muchísimas posibilidades para la creación de paginas webs dinámicas y que no den mala experiencia al usuario. Como es plenamente basado en Java no necesitas codificar pensando en un navegador en especifico o en algún sistema operativo. No habrá problemas de compatibilidad en este sentido. Te invitamos a darle oportunidad e incluirlo en tu proyecto.
Motor JSP
Cuando hablamos del motor de las páginas JSP se tiene que tener en cuenta que este se basa en los servlets de Java. Este es un programa que fue hecho para que se ejecute en el servidor. Pero la cantidad de desarrolladores que pueden manejar la programación de JSP es más grande, ya que es más fácil de aprender y aplicar que los servlets.
En JSP se crean páginas de una forma similar a como se hace en ASP o PHP, que son otras dos tecnologías de servidor. Se generan archivos con la extensión .jsp que va a incluir, dentro de la estructura de las etiquetas HTML, las sentencias Java que se van a ejecutar en el servidor.
Antes de que los archivos sean funcionales, el motor JSP va a cumplir una fase de tradición de esa misma página en un servlet, efectuado en un archivo class.
Esta fase de traducción de la que hablamos se realiza generalmente cuando se recibe la primera solicitud de la página .jsp. También hay otra opción, precompilar en código, de forma que se evite el tiempo de espera que se tiene la primera vez que un cliente pide la página.
Qué es un servlet
Los servlets los podemos definir como una tecnología que se implementará por el servidor y sirve para procesar todas las peticiones que se van a generar por parte de un cliente, si se figura el Modelo Vista Controlador, un servlet va a ser de controlador, lo que se traduce como que recibe la petición desde el navegador de internet, luego si la petición se trata de una búsqueda de un cliente este va a delegar el modelo a recuperar el cliente y se encargará de enviarlo al navegador por medio de una página JSP.
Qué se puede hacer con un JSP y SERVLET
Por medio de una página JSP puede hacer un formulario que incluya datos determinados, por ejemplo, nombre, apellido, etc. Con la ayuda del SERVLET se van a guardar esta información en una base de datos. Se puede obtener la información de una base de datos y enseñarles a los usuarios esos datos.
Cómo crear un proyecto
Ahora pongámonos a practicar lo que hemos estado aprendiendo en este post. Lo siguiente será crear un proyecto de tipo Dynamic Web Project bajo el nombre JSP. Solo tendrás que seguir estos pasos:
Se debe crear una página bajo el nombre jsp, esta va a ubicarse dentro de la carpeta WebContent. Dentro de esta misma carpeta se va a crear una página index.jsp, en ella se puede poner un texto, por ejemplo: Bienvenidos a mi página.
La página index.jsp va a quedar de la siguiente forma:
<span style="color: #000000;"><%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <span style="color: #000000;"><%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Ecodeup</title> </head> <body>
Bienvenidos a mi página
</body> </html></span> 1 2 3 4 5 6 7 8 9 10 11 12 <span style="color: #000000;"><%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Ecodeup</title> </head> <body> Bienvenidos a mi página </body> </html></span>
Cómo crear el servlet y redireccionarlo a la página JSP
Lo primero sería crear un servlet, llamado de la misma forma y dentro del servlet en el método doGet(), se debe crear unas pequeñas líneas de código, esto lo que hará será redireccionar a la página indez.jsp, siempre que se esté arrancando con el proyecto.
El código que necesitarás agregar dentro del método doGet para que se pueda redireccionar el servlet hasta la página index.jsp es este:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { getServletContext().getRequestDispatcher("/jsp/index.jsp").forward(request, response); } 1 2 3 4 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { getServletContext().getRequestDispatcher("/jsp/index.jsp").forward(request, response); }
Lo siguiente será guardar y ejecutar el proyecto. Para poder ejecutarlo se tiene que ir al servlet que se creó previamente, se abre y luego se le debe dar clic a la fecha verde.
Lo siguiente será que te pedirán que escojas el servidor donde se va a ejecutar la aplicación. Para finalizar notarás esto dentro de una pestaña dentro del navegador de Eclipse.
En este momento solo se verá en el navegador una página con el texto Bienvenidos a mi página. No se ha añadido una línea de Java dentro de esa misma página JSP, esto también se puede ver con navegadores como Mozilla, Chrome u otro navegador. Para hacer esto se debe copiar la dirección directamente en el navegador.
Hay que resaltar que se puede enviar contenido al navegador desde el mismo servlet.java. Esto es incluyendo o embebiendo el código HTML dentro del servlet, pero esto no es nada práctico, al menos que el único objetivo sea el aprendizaje.
Cómo agregar un comentario en JSP
Ahora, los comentarios en JSP van a funcionar de la misma forma de cualquier otro lenguaje. Para hacerlo, se requiere que se ponga en uso la siguiente estructura de sintaxis:
<%–Ejemplo de un comentario en JSP –%>.