Características de los servlets
Dentro de las características que presenta la plataforma de desarrollo de servlets podemos numerar:
- Es independiente de la plataforma en la que se este ejecutando.
Otras soluciones como ISAPI o NSAPI son dependientes de la plataforma y de
los servidores donde se ejecuta haciendo muy costoso una migración
en la plataforma de ejecución.
- Ejecución multihilo. Cada una de las peticiones sobre
el servlet creará una instancia que se ejecutará de manera independiente.
A no ser de que le indiquemos lo contrario. El servlet permanece cargado en
memoria por lo que atiende rápidamente las peticiones.
- Un servlet puede ejecutarse en un sandbox. Que lo que hace
es limitar los privilegios del servlet a un modelo controlado como el de los
applets. Salvaguardando la integridad del host donde se ejecuta.
- Un servlet puede llamar a otro servlet, incluso a métodos
de otros servlets. Esto nos permite que un servlet realize balanceado de carga
entre diferentes servlets. Además, desde un servlet, podemos redirigir
una petición sobre otro servlet (en la misma máquina o en una
máquina remota).
- El servlet puede obtener información acerca de la
maquina que ha realizado la petición (IP, puerto, tipo de método
de envio: get o post,...).
- Uno de los problemas del protocolo HTTP es que es un protocolo
sin estado. No existe una relación entre las diferentes peticiones
HTTP realizadas por un usuario sobre un servidor, sino que tiene que ser el
propio servidor el que mantenga esta sesión. Por ejemplo, por si queremos
mantener algún tipo de información del usuario (su identificación,
los productos comprados en las diferentes pantallas,...). En los servlets
podemos utilizar las sesiones y cookies para poder llevar a acabo esto. La
única diferencia es que en las sesiones la información del usuario
se almacena en el servidor, mientras que con las cookies la información
del usuario se almacena en su propia máquina.
- Conexión a Bases de Datos. A trvés de los servlets
podemos establecer conexiones a diferentes tipos de bases de datos. Esta característica
acopla perfecta a los servlets dentro de una arquitectura cliente/servidor
en 3 capas (cliente - servidor - datos).
- Proxy para applets. Dentro del desarrollo de applets nos
encontramos con un gran número de limitaciones, dentro de las cuales
encontramos el acceso al sistema de ficheros. Para subsanar dicha carencia
podemos interponer un servlet entre el applet y el sistema de ficheros, de
tal manera que el applet se comunicaría con el servlet, que sería
el encargado de acceder al sistema de ficheros.
- Generación dinámica de código. Esta
es una de las características más utilizadas en los servlets,
la generación dinámica de HTML. Esto nos permite que una misma
página tenga múltiples salidas o representaciones en cuanto
a estructura y contenido atendiendo a las evaluacione que tome el servlet:
ip del usuario, información de una base de datos, fecha del sistema,....
- Recursos compartidos entre usuarios. Los servlets pueden definir estructuras o información que va a ser compartida por diferentes usuarios que utilizen el servlet. A la hora de utilizar esta información compartida o global deberemos de tomar las precauciones oportunas para que siempre sea una información correcta, integra y fiable.