Servlets - PowerPoint PPT Presentation

About This Presentation
Title:

Servlets

Description:

Servlets Servlets son m dulos que extienden a servidores orientados a request/response, como por ejemplo Servidores Web java-enabled . Un servlet puede ser el ... – PowerPoint PPT presentation

Number of Views:94
Avg rating:3.0/5.0
Slides: 13
Provided by: nbaloian
Category:
Tags: servlets

less

Transcript and Presenter's Notes

Title: Servlets


1
Servlets
  • Servlets son módulos que extienden a servidores
    orientados a request/response, como por ejemplo
    Servidores Web java-enabled.
  • Un servlet puede ser el responsable de tomar
    datos de una forma HTML y aplicar un método
    para actualizar las bases de datos de la una
    compañía de acuerdo a ellos.
  • Servlets reemplazan a los CGI scripts. They
    provide a way to generate dynamic documents that
    is both easier to write and faster to run.
  • Servlets also address the problem of doing
    server-side programming with platform-specific
    APIs they are developed with the Java Servlet
    API, a standard Java extension.

2
Trabajo Preliminar
  • El paquete javax.servlet provee interfaces y
    clases que permiten escribir y compilar servlets
  • No viene con el j2sdk, es necesario bajar el
    jsdk.jar y ponerlo en el directorio adecuado
  • No todos los servidores web son capaces de
    interpretar servlets
  • Cada servidor de servlets tiene sus propias
    reglas, en la mayoría de los casos hay que
    ponerlos en un directorio específico
  • Para compilar los programas servlets hay que
    poner el jsdk.jar file en el directorio de las
    extensiones (c\jdk1.3\jre\lib\ext)

3
La Anatomía de un Servlet
  • Un nuevo tipo (clase) de servlet es especificado
    extendiendo la clase HttpServlet
  • Existen métodos predefinidos
  • init() es llamado por el servidor web cuando el
    servlet se sube la primera vez (uploaded)
  • doGet(HttpServletRequest req, HttpServletResponse
    res) throws ServletException, IOException
  • se llama cuando el servlet es invocado con una
    peticion Http GET, que es la normal cuando se
    contacta un serv.
  • doPost(HttpServletRequest req, HttpServletResponse
    res) throws ServletException, IOException
  • se ejecuta cuando el servlet fue invocado con una
    petición Http POST

4
Anatomía de un servlet
  • Una petición GET se genera siempre que una
    petición http es ingresada en el browser
    (http//www.yahoo.com/ implica GET index.html
    Httpx.x )
  • Cuando el servlet se llama por primera vez, se
    inicializa y 4-6 threads son levantados para
    atender a cleintes en paralelo cuando vayan
    apareciendo, Para ahorrar tiempo
  • En la mayoría de los casos los servlets son
    contactados a través de forms en páginas html. En
    este caso es posible especificar parámetros y
    generar una petición POST

5
Primer ejemplo
  • The servlet will be contacted directly by an http
    expression in the browser
  • http//grafica05.dcc.uchile.cl/examples/servlets/S
    impleServlet
  • Esto causará que el método doGet sea llamado
  • El servlet responderá exribiendo en la pagina del
    browser que lo invocó una frase pequeña

6
Un segundo ejemplo
  • Vamos a implementar un web counter
  • Va a contabilizar cuántas veces el servlet ha
    sido creado (new) y cuántas veces han sido
    llamadas todas las instancias
  • ver Count.java

7
Pasando parametros
  • Es posible pasar parámetros en la línea de
    invocación URL
  • http//hostport/servlet?param1value1param2valu
    e2..
  • El servlet puede preguntar por los valores de los
    parámetros si conoce el nombre de ellos de la
    siguente manera
  • String value req.getParametervalues(param1)
  • Parámetros pueden ser solamente strings
  • ver ServletParameter1.java

8
Lo ideal es hacerlo con Forms
  • Una Form es una página html que puede contener
    objetos gráficos para recolectar información la
    que manda al servidor como una URL
  • Podemos usar el mismo servlet !!!!
  • mirar ServletParameter1.html
  • Otro ejemplo
  • SurveyServlet with JdcSurvey

9
Obteniendo información acerca del cliente
  • ...que contactó al servlet como por ejemplo
  • URL request
  • host del cliente
  • nombres de parámetros y valores
  • Header del request
  • etc
  • Ver SnoopServlet?par1val1par2val2

10
Session Tracking
  • Session tracking es el mecanismo que usan los
    servlets para mantener información acerca del
    estado de los requests de un usuario (esto es,
    requests originados de un mismo browser) en un
    período de tiempo.
  • See SessionServlet

11
Using Cookies
  • Cookies are a way for a servlet to send some
    information to a client to store, and for the
    server to later retrieve its data from that
    client.
  • Servlets send cookies to clients by adding fields
    to HTTP response headers.
  • Clients automatically return cookies by adding
    fields to HTTP request headers.
  • Cookies have a name and a value (additionally
    they can have some comments).
  • In addition to a name and a value, you can also
    provide optional attributes such as comments.
  • A server can provide one or more cookies to a
    client.

12
Using Cookies
  • To send a cookie
  • 1.Instantiate a Cookie object
  • 2.Set any attributes
  • 3.Send the cookie
  • To get information from a cookie,
  • 1.Retrieve all the cookies from the user's
    request
  • 2.Find the cookie by its name
  • 3.Get the values of the cookies that
    you found
Write a Comment
User Comments (0)
About PowerShow.com