43 servlets

Páginas: 11 (2681 palabras) Publicado: 17 de abril de 2017
Java EE – Servlets
Aplicaciones Web/Sistemas Web

Juan Pavón Mestras
Dep. Ingeniería del Software e Inteligencia Artificial
Facultad de Informática
Universidad Complutense Madrid

Material bajo licencia Creative Commons

Java EE Servlets y JSPs


Servlet


Clase Java que implementa un modelo de programación peticiónrespuesta
• Puede usarse para procesar cualquier tipo de petición
• ClaseGenericServlet

• Definido en el paquete javax.servlet
• Hay subclases específicas para HTTP: paquete javax.servlet.http
• Clase HttpServlet






Tiene un ciclo de vida concreto controlado por el contenedor en el que
se despliega
Cada servlet se ejecuta como un thread independiente

JSP (JavaServer Page)




Fichero con código (X)HTML que incluye scripts codificados en Java
Se compila y seconvierte en un servlet
Utiliza etiquetas especializadas (Custom Tags) que amplían la sintaxis
de HTML

Juan Pavón - UCM 2012-13

Servlets

2

Ciclo de vida de un servlet


Lo controla el contenedor en el que se ha desplegado



Al llegar una petición correspondiente a un servlet, el contenedor
1. Comprueba si existe una instancia del servlet
• Si no existe
• Carga la clase del servlet
• Crea unainstancia del servlet
• Inicializa la instancia del servlet llamando al método init()

2. Se invoca al método de servicio, pasándole objetos de tipo request
y response
• El servlet usa estos objetos para inspeccionar la petición y generar la
respuesta
3. Si hay que eliminar el servlet, el contenedor llama al método destroy()
del servlet

Juan Pavón - UCM 2012-13

Servlets

3

Servlet


Cualquierclase que implemente la interfaz
javax.servlet.Servlet




También suele ser necesaria la interfaz
javax.servlet.ServletConfig




Métodos para gestionar el ciclo de vida del servlet

Tiene los parámetros de arranque e inicialización para el servlet que le
pasa el contenedor

Normalmente los servlets se implementan a partir de una de las
dos subclases siguientes que implementan ambas interfaces:



javax.servlet.GenericServlet
• Clase que define un servlet independiente del protocolo
javax.servlet.http.HttpServlet
• Para servlets en aplicaciones web, que procesan las peticiones con el
protocolo HTTP

Juan Pavón - UCM 2012-13

Servlets

4

Métodos de la interfaz javax.servlet.Servlet
init(ServletConfig config)



Al arrancar un servlet, solo se ejecuta una vez
Inicializa atributos yrecursos del servlet




getServletConfig()



Devuelve el objeto ServletConfig que contiene parámetros de arranque e
inicialización para el servlet que le pasa el contenedor



service(ServletRequest request, ServletResponse response)



Cada vez que se invoca un servicio al servlet
Dependiendo del tipo de servicio, invoca el método correspondiente al
servicio solicitado
Normalmente no sereescribe este método, solo los correspondientes a
los servicios específicos
Pueden invocarse concurrentemente los métodos de servicio, por ello
deben ser thread safe








destroy()



Al eliminar un servlet, solo se ejecuta una vez
Tiene que ser thread-safe porque puede haber otros threads en
ejecución




Juan Pavón - UCM 2012-13

Servlets

5

Métodos de la clase javax.servlet.HTTPServlet

El método service trata las siguientes peticiones:





Los más usados:





DELETE, GET, HEAD, OPTIONS, POST, PUT, y TRACE
Invoca el método correspondiente doXXX
doGet(HttpServletRequest request, HttpServletResponse response)
doPost(HttpServletRequest request, HttpServletResponse response)

Estos dos métodos son los que normalmente se tienen que
reescribir





El objeto request tieneinformación enviada en la petición
El objeto response permite crear la respuesta
• setContentType() – permite indicar el tipo MIME de lo que se va a
generar (por ejemplo, "text/html")
• getWriter() – devuelve el PrintWriter donde escribir lo que se genere
Pueden producir dos excepciones:
• IOException, porque usan operaciones de E/S
• ServletException, cualquier otra excepción que se quiera...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Servlets
  • Servlets
  • Servlets
  • Servlets
  • Servlets
  • Servlets
  • 43
  • los 43

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS