domingo, 21 de noviembre de 2010

Servlets y JSP

Hola compañeros, en esta entrada les hablaré sobre servlets y JSP (Java Server Pages).

SERVLETS

Los Servlets son las respuestas de Java a la programación CGI. Son programas que se ejecutan en determinado servidor web y construyen páginas web. 

 Ventajas de los Servles sobre el CGI
Son más eficientes, fácilesde usar, más portables y más baratos los Servlets Java que el CGI tradicional.

Eficiencia. Con CGI se arranca un nuevo proceso por cada solicitud HTTP. Si el programa CGI hace una operación muy rápida, la sobrecarga de proceso de arranque uede dominar el tiempo de ejecución. Con los Servlets, la máquina virtual de Java permanece en arranque, y cada petición es manejaa por un thread Java de ligero peso, no un pesado proceso del sistema operativo. En CGI también, si hay muchas peticiones al mismo tiempo para el mismo programa CGI, el código de dicho programa se cargará las veces como peticiones haya en memoria. Con los Servlets hay n número de threads pero sólo una copia de la clase Servlet.

Conveniencia. Los Servlets tienen una gran infraestructura por análisis automático y decodificación de datos de formularios HTML, leer y seleccionar las cabeceras HTTP, manejar cookies, entre otras cosas.

Potencia. Los Servlets permiten facilmente hacer cosas que son dificiles o imposibles en CGI. Pueden hablar directamente con el servidor web. Esto simplifica las operaciones que se utilizan para buscar imágenes y otros datos almacenados. También pueden compartir datos entre ellos, haciendo las cosas útiles como almacenes de conexiones a bases de datos. 
Portable. Los Servlets están escritos en Java y siguen un API bien estandarizado. Los Servlets escritos se pueden ejecutar sin modificarse en Apache, Microsoft IIS o WebSar. También están soportados directamente o mediante un plug-in en la mayoría de los servidores web.

Barato. Existen muchoas servidores web gratuitos o muy baratos que son buenos para el uso personal o el uso de sitios web de bajo nivel. Con excepción del Apache que es gratuito, la mayoría de los servidores web comerciales son muy caros. 

JSP
Java Server Pages nos permite mezclar HTML estático con HTML dinámico. Gran variedad de páginas web que tienen programas CGI son casi estáticas, con la parte dinámica limitada. Muchas variaciones CGI, incluyendo los servlets, hacen que generemos la página completa mediante nuestro programa. JSP nos permite crear dos partes de forma separada. Aquí les dejo un ejemplo que saqué de internet.

<!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>


Esta tecnología fue desarrollada por la compañía Sun Microsystems. Las JSP's permiten que se utilice código de Java mediante scripts. También se pueden utilizar algunas acciones JSP predefinidas mediante etiquetas.

JSP se puede considerar como una forma alternativa y simplificada de construir servlets.  Por esto, una página JSP puede hacer lo mismo que un servlet puede. El funcionamiento de esta tecnología es que el Servidor de Aplicaciones interpreta el código que tienes en la página JSP para construir el código Java del servlet a generar. Este servlet será el que haga el documento normalmente HTML, que se presentará en la pantalla del navegador del usuario.
La ventaja principal de JSP contra otros lenguajes es que Java es un lenguaje de propósito general que excede en el mundo web y es apto para crear clases que manejen lógica y acceso a datos de una manera detallada. Otra ventaja es que JSP hereda la portabilidad de Java y las aplicaciones se pueden ejecutar en diversas plataformas. 

Los servlets y JSPs son dos métodos para crear páginas web en servidor utilizando el lenguaje Java. Son similares a otros métodos como PHP, ASP o CGIs, que son programas que generan páginas web en el servior.

Los JSPs y servlets se ejecutan en una máquina virtual Java, lo cual permite que se puedan utilizar en cualquier tipo de ordenador, siempre  cuando exista una máquina virtual Java para él.

Los JSPs son en realidad servlets, un JSP se compila a un programa de Java la primera vez que se utiliza, y del programa Java se crea una clase que compienza a ejecutarse en el servidor como servlet. La diferencia principal entre los servlets y los JSPs es el enfoque a la programación, un JSP es una página web con etiquetas especiales y código Java incluido, mientras un servlet es un programa Java que recibe peticiones y a partir de ellas genera una página web.

1 comentario: