0% encontró este documento útil (0 votos)
11 vistas5 páginas

Servlets

Un servlet es una clase que extiende HttpServlet y debe reescribir los métodos doGet y/o doPost. El ciclo de vida de un servlet incluye los métodos init, service y destroy, y permite manejar solicitudes HTTP. JSP permite separar la lógica de negocio y la presentación, y se compone de elementos como directivas, acciones y scripting.

Cargado por

Clau
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
11 vistas5 páginas

Servlets

Un servlet es una clase que extiende HttpServlet y debe reescribir los métodos doGet y/o doPost. El ciclo de vida de un servlet incluye los métodos init, service y destroy, y permite manejar solicitudes HTTP. JSP permite separar la lógica de negocio y la presentación, y se compone de elementos como directivas, acciones y scripting.

Cargado por

Clau
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Servlets

! para ser un servlet una clase debe extender la clase


HttpServlet y reescribir los métodos doGet y/o
doPost (se puede hacer que uno llame al otro)
! HttpServletRequest lleva toda la info de la solicitud
! HttpServletResponse lleva la info de respuesta
! Ambas incluyen todos los métodos necesarios
! HttpServletResponse permite obtener un objeto
PrintWriter necesario para enviar info hacia el cliente

Ciclo de Vida de un Servlet

! Cuando se crea el servlet se invoca el método init


" puede pasarse un objeto ServletConfig
! Después de eso cada solicitud crea una nueva hebra
que llama al método service
! es posible especificar que solo se permit una hebra
" ... extends HttpServlet implements SingleThreadModel
! service llama a doGet, doPost, ... (doXxx)
" doDelete, doOptions, doTrace
! Cuando el servidor decide descargar el servlet
invoca método destroy
<?xml version="1.0" encoding="ISO-8859-1"?>

Inicialización
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application
2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2.2.dtd">
<web-app>
<servlet>
<servlet-name>
ShowMsg
public class ShowMessage extends HttpServlet { </servlet-name>
private String message; <servlet-class>
coreservlets.ShowMessage
private String defaultMessage = "No message.";
</servlet-class>
private int repeats = 1; <init-param>
public void init(ServletConfig config) throws <param-name>
message
ServletException { </param-name>
// Always call super.init <param-value>
super.init(config); Shibboleth
</param-value>
message = config.getInitParameter("message"); </init-param>
if (message == null) { <init-param>
<param-name>
message = defaultMessage; repeats
} </param-name>
<param-value>
try { 5
String repeatString = </param-value>
config.getInitParameter("repeats"); </init-param>
</servlet>
repeats = Integer.parseInt(repeatString); </web-app>
} catch(NumberFormatException nfe) {
}
} web.xml
public void doGet(HttpServletRequest request, ...)

Lectura de parámetros del Formulario

<FORM ACTION="/servlet/coreservlets.ThreeParams">
First Parameter: <INPUT TYPE="TEXT" NAME="param1"><BR>
Second Parameter: <INPUT TYPE="TEXT" NAME="param2"><BR>
Third Parameter: <INPUT TYPE="TEXT" NAME="param3"><BR>
<CENTER>
<INPUT TYPE="SUBMIT">
</CENTER>
</FORM>
request.getParameter("param1")
Enumeration paramNames request.getParameterNames();
while(paramNames.hasMoreElements()) {
String paramName = (String)paramNames.nextElement();
out.print("<TR><TD>" + paramName + "\n<TD>");
Obtención de Headers

! request.getHeader("Connection")
! request.getHeaderNames()

while(headerNames.hasMoreElements()) {
String headerName = (String)headerNames.nextElement();
out.println("<TR><TD>" + headerName);
out.println(" <TD>" + request.getHeader(headerName));
}

Contenedor de Servlets

! conexión entre el servidor web y los servlets


! provee el ambiente de runtime y es responsable de
cargar e invocar los servicios
! diferentes tipos
" add-ons o plug-ins (Apache y IIS)
" standalone
" parte de un application server (WebLogic, JBoss)
JSP

! permite separar
procesamiento de solicitud,
lógica de negocio y
presentación

Anatomía de una Página JSP


Contenedor JSP

! intercepta y procesa solicitudes JSP


Fase de traducción (sólo la primera vez)
! convierte página en servlet y lo compila

Hay 3 tipos de elementos JSP

! Directivas
" info sobre la página que permanece igual entre requests

! Acciones
" se llevan a cabo en el momento de la solicitud

! Scripting
" agregar una pequeña pieza de código directamente

También podría gustarte