Funcionalidad servlets
La fundamental es interaccionar dinámica y personalizadamente con el
cliente que solicita sus servicios.
- Buscadores de páginas web o de secciones que forman parte de una página:
el cliente rellena un cuadro de texto con la palabra o palabras que van a
formar parte de su búsqueda y al pulsar el botón de buscar, envía dicha
información al servlet a la escucha. Dicho servlet responderá a la petición
del cliente accediendo a una base de datos que puede encontrarse en el mismo
servidor que el servlet o en otro. A través de este ejemplo se observa
claramente el carácter dinámico de los servlets. En función de la información
que se complete en el cuadro de búsqueda del cliente se obtendrán diferentes
respuestas. Muy típicos son los ejemplos de páginas de búsqueda de empleo.
http://www.tecnoempleo.com
- Captura de datos introducidos mediante un formulario html y
almacenamiento de los mismos en una base de datos. Por ejemplo, en páginas en
las que se ofrece servicio de envío gratuito de curriculums, el usuario
rellena un formulario html, pulsa un botón y se transfieren los datos a un
servlet que se encargará de incluirlos en una base de datos.
http://www.myjavaserver.com/~trilcejf/EncuestaPrivada.html
- Procesos de identificación y autenticación de usuarios mediante
sesiones y cookies
- Creación de aplicaciones de comercio electrónico como servicios de
venta de productos on-line, reservas de entradas para cines, teatros y eventos
deportivos, reservas de billetes de avión, de autobús o de tren, etc.
www.fnac.es,
www.iberia.es,
www.renfe.es
- Visualización de páginas web personalizadas en base a información
introducida por el usuario durante el registro o a la elección de preferencias
ofrecidas por la página. La siguiente vez que se acceda a la misma se mostrará
con el aspecto elegido por el usuario teniendo en cuenta los criterios de
compra seleccionados en su anterior visita.
www.amazon.com,
www.nextel.com
Diferencias servlet-applet
- Un applet es una aplicación Java que se almacena en un servidor web,
pero que se ejecuta en el cliente previa descarga, desde el servidor, de todos
los ficheros implicados. Un applet, a no ser que se firme, no puede
acceder a un servidor distinto del que se ha descargado (se lanza el
SecurityManager)
- Un servlet es una aplicación Java que se almacena y se ejecuta en un
servidor J2EE compatible que puede conectarse a un servidor distinto del que
se encuentra almacenado.

Los servlets sustituyen a las CGI (Common Gateway Interface =
Programas de interface común de pasarela). Hasta no hace mucho, los programas
cgi eran los únicos que permitían ejecutar código en servidores web y capturar
información enviada desde clientes web. Ocurre que su modo de trabajo es menos
eficaz y ofrece menos posibilidades que los servlets; no obstante, se siguen
utilizando, aunque cada vez menos.
Algunas de las ventajas de los servlets frente a las CGIs son:
- Se programan en Java y siguiendo la especificación de los servlets
definida por Sun, cuyo punto de apoyo es la API Servlet que forma parte de
J2EE (Java 2 Enterprise Edition).
Además de la API Servlet, se puede utilizar sin ninguna restricción la API
estándar de Java. En cambio, los programas CGI pueden programarse en varios
lenguajes de programación como Perl, C++, etc. y no siguen ningún tipo de
especificación.
- Consumen menos recursos del servidor que las CGI ya que no se
cargan en memoria tantas veces como peticiones desde clientes se realicen sino
que sólo se carga en memoria una instancia del servlet la primera vez que se
realiza una petición desde el cliente; el resto, se gestionan mediante hilos.
En cambio, las CGI no admiten multithreading y cada petición implica carga en
memoria de una CGI con la consiguiente lentitud y pesadez en su gestión.
- El cliente que realiza peticiones no necesita tener instalado el J2SE
ni el JRE ya que la respuesta suele codificarse en html. Basta con que
disponga de un navegador web.
- Se ejecutan del mismo modo y sin retocar ninguna línea de su código
cuando se cambian de servidor con soporte J2EE.
- Los servlets, al estar programados en Java, son multiplataforma
(cross-platform), es decir, se ejecutan del mismo modo independientemente
del sistema operativo instalado en la máquina donde está corriendo el
servidor. Además, pueden comunicarse entre sí de forma sencilla y se
complementan bien con los applets
Si desea obtener un acceso sin restricciones a los contenidos del curso de J2EE y disfrutar de todas las herramientas del aula virtual (Videos explicativos streaming, acceso a los foros, chat, ejercicios resueltos, la ayuda del tutor, audioconferencia, estudio de grabación, test y actividades de autoevaluación, etc...) puede
inscribirse completamente gratis y comenzar a realizar de forma inmediata el curso.