Los servlets son los programas Java que se ejecutan en el servidor web o en el servidor de aplicaciones habilitado para Java. Se utilizan para manejar la solicitud obtenida del servidor web, procesar la solicitud, producir la respuesta y luego enviar una respuesta al servidor web. En Java, para crear aplicaciones web usamos Servlets. Para crear Java Servlets, necesitamos usar Servlet API que contiene todas las interfaces y clases necesarias. Servlet API tiene 2 paquetes, a saber,
- javax.servlet
- javax.servlet.http
javax.servlet
- Este paquete proporciona la cantidad de interfaces y clases para admitir el servlet genérico que es independiente del protocolo.
- Estas interfaces y clases describen y definen los contratos entre una clase de servlet y el entorno de ejecución proporcionado por un contenedor de servlet.
Clases disponibles en el paquete javax.servlet:
Nombre de la clase |
Descripción |
---|---|
GenéricoServlet | Para definir un servlet genérico e independiente del protocolo. |
ServletContextAttributeEvent | Para generar notificaciones sobre cambios en los atributos del contexto del servlet de una aplicación web. |
ServletContextEvent | Para generar notificaciones sobre cambios en el contexto del servlet de una aplicación web. |
ServletInputStream | Esta clase proporciona un flujo de entrada para leer datos binarios de una solicitud de cliente. |
ServletOutputStream | Esta clase proporciona un flujo de salida para enviar datos binarios al cliente. |
ServletRequestAttributeEvent | Para generar notificaciones sobre cambios en los atributos de la solicitud de servlet en una aplicación. |
ServletRequestEvent | Para indicar eventos de ciclo de vida para un ServletRequest. |
ServletRequestWrapper | Esta clase proporciona la implementación de la interfaz ServletRequest que los desarrolladores pueden subclasificar para adaptar la solicitud a un Servlet. |
ServletResponseWrapper | Esta clase proporciona la implementación de la interfaz ServletResponse que los desarrolladores pueden subclasificar para adaptar la respuesta de un Servlet. |
Interfaces disponibles en el paquete javax.servlet:
Nombre de la interfaz |
Descripción |
---|---|
Filtrar | Para realizar tareas de filtrado en la solicitud a un recurso, en la respuesta de un recurso, o en ambos. |
string de filtros | Para proporcionar una vista de la string de invocación de una solicitud filtrada de un recurso al desarrollador por parte del contenedor de servlets. |
FilterConfig | Para pasar información a un filtro durante la inicialización utilizada por un contenedor de servlets. |
RequestDispatcher | Define un objeto para enviar la solicitud y la respuesta a cualquier otro recurso, lo que significa que recibe requests del cliente y las envía a un servlet/archivo HTML/archivo JSP en el servidor. |
servlet | Esta es la interfaz principal que define los métodos en los que deben implementar todos los servlets. Para implementar esta interfaz, escriba un servlet genérico que amplíe javax.servlet.GenericServlet o un servlet HTTP que amplíe javax.servlet.http.HttpServlet. |
ServletConfig | Define un objeto creado por un contenedor de servlet en el momento de la instanciación del servlet y para pasar información al servlet durante la inicialización. |
ServletContext | Define un conjunto de métodos que utiliza un servlet para comunicarse con su contenedor de servlet. La información relacionada con la aplicación web disponible en el archivo web.xml se almacena en el objeto ServletContext creado por el contenedor. |
ServletContextAttributeListener | Las clases que implementan esta interfaz reciben notificaciones de cambios en la lista de atributos en el contexto de servlet de una aplicación web. |
ServletContextListener | Las clases que implementan esta interfaz reciben notificaciones sobre cambios en el contexto del servlet de la aplicación web de la que forman parte. |
ServletRequest | Define un objeto creado por el contenedor de servlet para pasar la información de la solicitud del cliente a un servlet. |
ServletRequestAttributeListener | Para generar las notificaciones de cambios de atributos de la solicitud mientras la solicitud se encuentra dentro del alcance de la aplicación web en la que está registrado el oyente. |
ServletRequestListener | Para generar las notificaciones de requests que entran y salen del alcance en un componente web. |
ServletRespuesta | Define un objeto creado por el contenedor de servlet para ayudar a un servlet a enviar una respuesta al cliente. |
Excepciones en el paquete javax.servlet:
Nombre de excepción |
Descripción |
---|---|
ServletException | Una excepción general lanzada por un servlet cuando encuentra dificultades. |
Excepción no disponible | Lanzado por un servlet o filtro para indicar que no está disponible de forma permanente o temporal. |
javax.servlet.http
- Este paquete proporciona la cantidad de interfaces y clases para admitir el servlet HTTP que depende del protocolo HTTP.
- Estas interfaces y clases describen y definen los contratos entre una clase de servlet que se ejecuta bajo el protocolo HTTP y el entorno de ejecución proporcionado por un contenedor de servlet.
Clases disponibles en el paquete javax.servlet.http:
Nombre de la clase |
Descripción |
---|---|
Galleta | Crea un objeto de cookie. Es una pequeña cantidad de información enviada por un servlet a un navegador web, guardada por el navegador y luego enviada de regreso al servidor utilizado para la administración de la sesión. |
HttpServlet | Proporciona una clase abstracta que define métodos para crear un servlet apto para HTTP para una aplicación web. |
HttpServletRequestWrapper | Esta clase proporciona la implementación de la interfaz HttpServletRequest que se puede subclasificar para adaptar la solicitud a un Servlet. |
HttpServletResponseWrapper | Esta clase proporciona la implementación de la interfaz HttpServletResponse que se puede subclasificar para adaptar la respuesta de un Servlet. |
HttpSessionBindingEventHttpSessionBindingEvent | Estos eventos se envían a un objeto que implementa HttpSessionBindingListener cuando está enlazado o desvinculado de una sesión, o a un HttpSessionAttributeListener que se ha configurado en el descriptor de implementación cuando cualquier atributo está enlazado, desvinculado o reemplazado en una sesión. |
HttpSessionEvent | Para representar notificaciones de eventos para cambios en las sesiones dentro de una aplicación web. |
Interfaces disponibles en el paquete javax.servlet.http:
Nombre de la interfaz |
Descripción |
---|---|
HttpServletRequest | Para proporcionar información de solicitud HTTP del cliente para servlets. Extiende la interfaz ServletRequest. |
HttpServletRespuesta | Para proporcionar una funcionalidad específica de HTTP al enviar una respuesta al cliente. Extiende la interfaz ServletResponse. |
Sesión Http | Proporciona una manera de identificar a un usuario a través de las páginas de la aplicación web/sitio web y almacenar información sobre ese usuario. |
HttpSessionActivationListener | Contenedor para notificar a todos los objetos que están vinculados a una sesión que las sesiones se pasivarán y esa sesión se activará. |
HttpSessionAttributeListener | Para recibir notificaciones de cambios en las listas de atributos de las sesiones dentro de esta aplicación web, se puede implementar esta interfaz de escucha. |
HttpSessionBindingListener | Hace que un objeto sea notificado por un objeto HttpSessionBindingEvent, cuando está vinculado o no vinculado a una sesión. |
HttpSessionListener | Para recibir notificaciones de eventos relacionados con los cambios en la lista de sesiones activas en una aplicación web. |
Clase GenericServlet
La API de servlet proporciona la clase GenericServlet en el paquete javax.servlet.
Java
public abstract class GenericServlet extends java.lang.Object implements Servlet, ServletConfig, java.io.Serializable
- Una clase abstracta que implementa la mayoría de los métodos básicos del servlet.
- Implementa las interfaces Servlet, ServletConfig y Serializable.
- Servlet independiente del protocolo.
- Facilita la escritura de servlets al proporcionar versiones simples de los métodos de ciclo de vida init() y destroy().
- Para escribir un servlet genérico, debe extender la clase javax.servlet.GenericServlet y anular el método abstracto service().
Clase HttpServlet
Servlet API proporciona la clase HttpServlet en el paquete javax.servlet.http.
Java
public abstract class HttpServlet extends GenericServlet implements java.io.Serializable
- Una clase abstracta que se subclasificará para crear un servlet específico de HTTP que sea adecuado para un sitio web/aplicación web.
- Extiende la clase Generic Servlet e implementa la interfaz Serializable.
- Servlet dependiente del protocolo HTTP.
Para escribir un servlet Http, debe extender la clase javax.servlet.http.HttpServlet y debe anular al menos uno de los métodos a continuación,
- doGet(): para admitir requests HTTP GET del servlet.
- doPost(): para admitir requests HTTP POST del servlet.
- doPut(): para admitir requests HTTP PUT por parte del servlet.
- doDelete(): para admitir requests HTTP DELETE por parte del servlet.
- init() y destroy(): para administrar los recursos retenidos en la vida del servlet.
- getServletInfo(): para proporcionar información sobre el servlet en sí, como el autor del servlet o la versión del mismo, etc.
Jerarquía de paquetes de API de servlet
A continuación se muestra la jerarquía de paquetes de Generic Servlet y HTTP Servlet.
Servlet API proporciona todas las interfaces, clases y métodos necesarios para desarrollar una aplicación web. necesitamos agregar el archivo servlet-api.jar en nuestra aplicación web para usar la funcionalidad de servlet. Podemos descargar este archivo jar desde Maven Repository .
Publicación traducida automáticamente
Artículo escrito por yaminitalisetty y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA