Servlets y JSP

Los Servlets son las respuesta de la tecnologa Java a la programacin CGI. Son programas que se ejecutan en un servidor Web y construyen pginas Web. Construir pginas Web al vuelo es til (y comunmente usado) por un nmero de razones:

  • La pgina Web est basada en datos envados por el usuario. Por ejemplo, las pginas de resultados de los motores de bsqueda se generan de esta forma, y los programas que procesan pedidos desde sites de comercio electrnico tambin.
  • Los datos cambian frecuentemente. Por ejemplo, un informe sobre el tiempo o pginas de cabeceras de noticias podran construir la pgina dinmicamente, quizs devolviendo una pgina previamente construida y luego actualizandola.
  • Las pginas Web que usan informacin desde bases de datos corporativas u otras fuentes. Por ejemplo, usaramos esto para hacer una pgina Web en una tienda on-line que liste los precios actuales y el nmero de artculos en stock.

.Cules son las Ventajas de los Servlets sobre el CGI "Tradicional"?

Los Servlets Java son ms eficientes, fciles de usar, ms poderosos, ms portables, y ms baratos que el CGI tradicional y otras muchas tecnologas del tipo CGI. (y lo que es ms importante, los desarrolladores de servlets cobran ms que los programadores de Perl :-).

  • Eficiencia. Con CGI tradicional, se arranca un nuevo proceso para cada solicitud HTTP. Si el programa CGI hace una operacin relativamente rpida, la sobrecarga del proceso de arrancada puede dominar el tiempo de ejecucin. Con los Servlets, la mquina Virtual Java permanece arrancada, y cada peticin es manejada por un thread Java de peso ligero, no un pesado proceso del sistema operativo. De forma similar, en CGI tradicional, si hay N peticiones simultneas para el mismo programa CGI, el cdigo de este problema se cargar N veces en memoria. Sin embargo, con los Servlets, hay N threads pero slo una copia de la clase Servlet. Los Servelt tambin tienen ms alternativas que los programas normales CGI para optimizaciones como los cachs de clculos prvios, mantener abiertas las conexiones de bases de datos, etc.
  • Conveniencia. Hey, tu ya sabes Java. Por qu aprender Perl? Junto con la conveniencia de poder utilizar un lenguaje familiar, los Servlets tienen una gran infraestructura para anlisis automtico y decodificacin de datos de formularios HTML, leer y seleccionar cabeceras HTTP, manejar cookies, seguimiento de sesiones, y muchas otras utilidades.
  • Potencia. Los Servlets Java nos permiten fcilmente hacer muchas cosas que son difciles o imposibles con CGI normal. Por algo, los servlets pueden hablar directamente con el servidor Web. Esto simplifica las operaciones que se necesitan para buscar imgenes y otros datos almacenados en situaciones estndards. Los Servlets tambin pueden compartir los datos entre ellos, haciendo las cosas tiles como almacenes de conexiones a bases de datos fciles de implementar. Tambin pueden mantener informacin de solicitud en solicitud, simplicando cosas como seguimiento de sesin y el cach de clculos anteriores.
  • Portable. Los Servlets estn escritos en Java y siguen un API bien estndarizado. Consecuentemente, los servlets escritos, digamos en el servidor I-Planet Enterprise, se pueden ejecutar sin modificarse en Apache, Microsoft IIS, o WebStar. Los Servlets estn soportados directamente o mediante plug-in en la mayora de los servidores Web.
  • Barato. Hay un nmero de servidores Web gratuitos o muy baratos que son buenos para el uso "personal" o el uso en sites Web de bajo nivel. Sin embargo, con la excepcin de Apache, que es gratuito, la mayora de los servidores Web comerciales son relativamente caros. Una vez que tengamos un servidor Web, no importa el coste del servidor, aadirle soporte para Servlets (si no viene preconfigurado para soportarlos) es gratuito o muy barato.

.Qu es JSP?

Java Server Pages (JSP) es una tecnologa que nos permite mezclar HTML esttico con HTML generado dinmicamente. Muchas pginas Web que estn construidas con programas CGI son casi estticas, con la parte dinmica limitada a muy pocas localizaciones. Pero muchas variaciones CGI, incluyendo los servlets, hacen que generemos la pgina completa mediante nuestro programa, incluso aunque la mayora de ella sea siempre lo mismo. JSP nos permite crear dos partes de forma separada. Aqu tenemos un ejemplo:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD><TITLE>Welcome to Our Store</TITLE></HEAD>
<BODY>
<H1>Welcome to Our Store</H1>
<SMALL>Welcome,
<!-- User name is "New User" for first-time visitors --> 
<% out.println(Utils.getUserNameFromCookie(request)); %>
To access your account settings, click
<A HREF="Account-Settings.html">here.</A></SMALL>
<P>
Regular HTML for all the rest of the on-line store's Web page.
</BODY></HTML>

.Cules son las Ventajas de JSP?

  • Contra Active Server Pages (ASP). ASP es una tecnologa similar de Microsoft. Las ventajas de JSP estan duplicadas. Primero, la parte dinmica est escrita en Java, no en Visual Basic, otro lenguaje especfico de MS, por eso es mucho ms poderosa y fcil de usar. Segundo, es portable a otros sistemas operativos y servidores Web.
  • Contra los Servlets. JSP no nos da nada que no pudiermos en principio hacer con un servlet. Pero es mucho ms conveniente escribir (y modificar!) HTML normal que tener que hacer un billn de sentencias println que generen HTML. Adems, separando el formato del contenido podemos poner diferentes personas en diferentes tareas: nuestros expertos en diseo de pginas Web pueden construir el HTML, dejando espacio para que nuestros programadores de servlets inserten el contenido dinmico.
  • Contra Server-Side Includes (SSI). SSI es una tecnologa mpliamente soportada que incluye piezas definidas externamente dentro de una pgina Web esttica. JSP es mejor porque nos permite usar servlets en vez de un programa separado para generar las partes dinmicas. Adems, SSI, realmente est diseado para inclusiones sencillas, no para programas "reales" que usen formularios de datos, hagan conexiones a bases de datos, etc.
  • Contra JavaScript. JavaScript puede general HTML dinmicamente en el cliente. Este una capacidad til, pero slo maneja situaciones donde la informacin dinmica est basada en el entorno del cliente. Con la excepcin de las cookies, el HTTP y el envi de formularios no estn disponibles con JavaScript. Y, como se ejecuta en el cliente, JavaScript no puede acceder a los recursos en el lado del servidor, como bases de datos, catlogos, informacin de precios, etc.

COMPARTE ESTE ARTÍCULO

ENVIAR A UN AMIGO
COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN GOOGLE +
ARTÍCULO ANTERIOR

¡SÉ EL PRIMERO EN COMENTAR!
Conéctate o Regístrate para dejar tu comentario.