ProgramaciónInternet Semana 02 I Servlets

download ProgramaciónInternet Semana 02 I Servlets

of 20

Transcript of ProgramaciónInternet Semana 02 I Servlets

  • 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