API de servlets

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.

Generic Servlet API Execution Flow

  • 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.

HTTP Servlet API Execution Flow

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 Package Hierarchy

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *