Introducción a los Java Servlets
Los Servlets de Java son la propuesta de la tecnología Java para el
desarrollo de aplicaciones web. Un Servlet es un programa que se
ejecuta en un servidor web y que construye una página web que es
devuelta al usuario. Esta página, construida dinámicamente, puede
contener información procedente de bases de datos, ser una respuesta
a los datos introducidos por el usuario, etc.
Los Servlets Java presentan una serie de ventajas sobre los CGI, el
método tradicional de desarrollo de aplicaciones web. Éstos son más
portables, más potentes, mucho más eficientes, más fáciles de usar,
más escalables, etc.
Eficiencia
Con el modelo tradicional de CGI, cada petición que llega al servidor
dispara la ejecución de un nuevo proceso. Si el tiempo de vida
del CGI (el tiempo que tarda en ejecutarse) es corto, el tiempo de instanciación
(el tiempo de arrancar un proceso) puede superar al de
ejecución. Con el modelo de Servlets, la máquina virtual de Java, el
entorno donde se ejecutan, se arranca al iniciar el servidor, permaneciendo
arrancada durante toda la ejecución del mismo. Para atender
cada petición no se arranca un nuevo proceso, sino un thread,
un proceso ligero de Java, mucho más rápido (de hecho, casi instantáneo).
Además, si tenemos x peticiones simultáneas de un CGI, tendremos
x procesos simultáneos en memoria, consumiendo así x
veces el espacio de un CGI (que, en caso de ser interpretado, como
suele ocurrir, implica el consumo de x veces el intérprete). En el caso
de los Servlets, hay determinada cantidad de threads, pero sólo una
copia de la máquina virtual y sus clases.
El estándar de Servlets también nos ofrece más alternativas que los
CGI para optimizaciones: caches de cálculos previos, pools de
conexiones de bases de datos, etc.
Facilidad de uso
El estándar de Servlets nos ofrece una magnífica infraestructura de
desarrollo de aplicaciones web, proporcionándonos métodos para
análisis automático y decodificación de los datos de los formularios
de HTML, acceso a las cabeceras de las peticiones HTTP, manejo de
cookies, seguimiento, control y gestión de sesiones, entre otras
muchas facilidades.
Potencia
Los Servlets Java permiten hacer muchas cosas que son difíciles o imposibles
de realizar con los CGI tradicionales. Los Servlets pueden
compartir los datos entre sí, permitiendo compartir datos, conexiones
a bases de datos, etc. Asimismo, pueden mantener información de
solicitud en solicitud, facilitando tareas como el seguimiento de las
sesiones de usuario, etc.
Portabilidad
Los Servlets están escritos en Java y se rigen por un API estándar bien
documentado. Como consecuencia de ello, los Servlets pueden ejecutarse
en todas las plataformas que nos ofrezcan soporte de Java
Servlets, sin tener que recompilar, modificarse, etc., sean estas plataformas
Apache, iPlanet, IIS, etc., y además, con independencia de
sistema operativo, arquitectura hardware, etc.
![]() |
Arquitectura de un Servlet |
Para optener más información y compresión sobre el tema les invito a mirar un video del Canal de CompartiendoCodigos espero que les sirva y les guste!!!
Bibliografia: Desarrollo de Aplicaiones Web, Software Libre, Carles Mateu, XP04/90791/00021