8/18/2019 ProgramaciónInternet Semana 02 I Servlets
1/20
[1542: Programación Internet]Servlets
Semana 02
2012-IMg. Jorge Irey
8/18/2019 ProgramaciónInternet Semana 02 I Servlets
2/20
8/18/2019 ProgramaciónInternet Semana 02 I Servlets
3/20
Aplicación Web
Servlet Container
8/18/2019 ProgramaciónInternet Semana 02 I Servlets
4/20
1. Es una claseclase escrita en lenguaje Java usada paraextender las funcionalidades de un servidor medianteel paradigma request/response.
2. Aunque pueden responder a cualquier request,generalmente se usan para servidores web, para locual se definen clases HTTP específicas.
WEB
CLIENT
WEB
SERVERPROTOCOLO HTTP
¿ Qué es un Servlet ?
8/18/2019 ProgramaciónInternet Semana 02 I Servlets
5/20
Ciclo de vida de un Servlet
Diagrama de Transición de Estados
8/18/2019 ProgramaciónInternet Semana 02 I Servlets
6/20
MÉTODOS
•• INITINIT : es llamado por el servidor de aplicaciones cuando el servletse está cargando en memoria
•• SERVICESERVICE : es llamado por cada request del cliente.Para el caso de Http Request existen 2 métodos especializados:doGet y doPost
•• DESTROY DESTROY : Es llamado por el servidor de aplicaciones cuando elservlet es descargado de memoria.
Ciclo de vida de un Servlet
8/18/2019 ProgramaciónInternet Semana 02 I Servlets
7/20
Métodoabstracto
Métodoimplementado
•Provee una estructura adecuadapara manipular el protocolo HTTP(Request – Response)
•Los Servlets que trabajen conHTTPRequests deben heredaresta clase.
Identifica que método HTTPrecibe, y delega el request almétodo doXxxxdoXxxx quecorresponda
La clase HTTPServlet
8/18/2019 ProgramaciónInternet Semana 02 I Servlets
8/20
Clasesrequeridas
Herencia
Codigo a
ejecutar
Envío derespuesta
Ejemplo de Servlet
8/18/2019 ProgramaciónInternet Semana 02 I Servlets
9/20
Clase HttpServlet
protected void doYYY doYYY (HttpServletRequest, HttpServletResponse) throws ServletException, IOException;
Manejo de HTTP Request
8/18/2019 ProgramaciónInternet Semana 02 I Servlets
10/20
String getParameter( String paramName )
String[] getParameterValues(String paramName )Enumeration getParameterNames()
String getHeader( String headerName )Enumeration getHeaders( String headerName)Enumeration getHeaderNames()Cookie[] getCookies()
1
1
2
2
Servlet: entendiendo el Request
http://en.wikipedia.org/wiki/List_of_HTTP_headers
8/18/2019 ProgramaciónInternet Semana 02 I Servlets
11/20
PrintWriter getWriter()ServletOutputStream getOutputStream()void setContentType ( String type )
Archivos Texto Archivos Binarios
void setHeader ( String name, String value )void setIntHeader( String name, int value )void setDateHeader( String name, long millisecs )void addHeader ( String name, String value )void addIntHeader( String name, int value )void addDateHeader( String name, long millisecs )boolean containsHeader( String name )void addCookie ( Cookie cookie )
Servlet: entendiendo el Response
Headers tHeaders t í í picos en una respuestapicos en una respuesta
8/18/2019 ProgramaciónInternet Semana 02 I Servlets
12/20
Ejemplo: Response para archivo Texto
8/18/2019 ProgramaciónInternet Semana 02 I Servlets
13/20
Ejemplo: Response para archivo Binario
8/18/2019 ProgramaciónInternet Semana 02 I Servlets
14/20
8/18/2019 ProgramaciónInternet Semana 02 I Servlets
15/20
web.xml
8/18/2019 ProgramaciónInternet Semana 02 I Servlets
16/20
web.xml : Parámetros de inicialización
8/18/2019 ProgramaciónInternet Semana 02 I Servlets
17/20
Clase ServletConfig
8/18/2019 ProgramaciónInternet Semana 02 I Servlets
18/20
Servlet: Compartiendo Datos (visibilidad)
1. Un Servlet coloca la data en un lugar (“container”)y los demás servlets pueden acceder a ella.
2. Este “container” puede ser:
ServletRequestServletRequest Los objetos son accesiblessólo durante la vida del request.HttpSessionHttpSession los objetos son accesibles sólodurante la vida de la sesión.ServletContextServletContext los objetos son accesibles sólodurante la vida de la aplicación web.
TienenmétodossetAttributegetAttribute
8/18/2019 ProgramaciónInternet Semana 02 I Servlets
19/20
Servlet: Deployment Descriptor
1
1
2
2
8/18/2019 ProgramaciónInternet Semana 02 I Servlets
20/20
Preguntas
SCWCD Web Component Developer Certificationhttp://java.sun.com/javaee/5/docs/tutorial/doc/http://www.ibm.com/developerworks
Top Related