martes, 15 de noviembre de 2016

Servlets (Básico)


Servidor
Un servidor es un ordenador que trata las peticiones de datos, el correo electrónico, la transferencia de ficheros, y otros servicios de red realizados por otros ordenadores (clientes).

Servlets (Básico)

  • Manejar Peticiones GET y POST
    • Manejar Peticiones GET
    • Manejar Peticiones POST

Manejar Peticiones GET y POST
Para manejar peticiones HTTP en un servlet, extendemos la clase HttpServlet y sobrescribimos los métodos del servlet que manejan las peticiones HTTP que queremos soportar. Esta página ilustra el manejo de peticiones GET y POST. Los métodos que manejan estas peticiones son doGet y doPost.
 Manejar Peticiones GET
Manejar peticiones GET implica sobrescribir el método doGet. El siguiente ejemplo muestra a BookDetailServlet haciendo esto. Los métodos explicados en Peticiones y Respuestas se muestran en negrita.
public class BookDetailServlet extends HttpServlet {

    public void doGet (HttpServletRequest request,
                       HttpServletResponse response)
        throws ServletException, IOException
    {
        ...
      // selecciona el tipo de contenido en la cabecera antes de acceder a Writer
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();

      // Luego escribe la respuesta
        out.println("<html>" +
                    "<head><title>Book Description</title></head>" +
                    ...);

        //Obtiene el identificador del libro a mostrar
        String bookId = request.getParameter("bookId");
        if (bookId != null) {
            // Y la información sobre el libro y la imprime
            ...
        }
        out.println("</body></html>");
        out.close();
    }
    ...
}
El servlet extiende la clase HttpServlet y sobrescribe el método doGet. Dentro del métododoGet, el método getParameter obtiene los argumentos esperados por el servlet.
Para responder al cliente, el método doGet utiliza un Writer del objetoHttpServletResponse para devolver datos en formato texto al cliente. Antes de acceder al writer, el ejemplo selecciona la cabecera del tipo del contenido. Al final del método doGet, después de haber enviado la respuesta, el Writer se cierra.
 Manejar Peticiones POST
Manejar peticiones POST implica sobrescribir el método doPost. El siguiente ejemplo muestra a ReceiptServlet haciendo esto. De nuevo, los métodos explicados en Peticiones y Respuestas se muestran en negrita.
public class ReceiptServlet extends HttpServlet {

    public void doPost(HttpServletRequest request,
                       HttpServletResponse response)
      throws ServletException, IOException
    {
        ...
        // selecciona la cabecera de tipo de contenido antes de acceder a Writer
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();

        // Luego escribe la respuesta
        out.println("<html>" +
                    "<head><title> Receipt </title>" +
                    ...);

        out.println("

Thank you for purchasing your books from us " +

                    request.getParameter("cardname") +
                    ...);
        out.close();
    }
    ...
}
El servlet extiende la clase HttpServlet y sobrescribe el método doPost. Dentro del método doPost, el método getParameter obtiene los argumentos esperados por el servlet.
Para responder al cliente, el método doPost utiliza un Writer del objetoHttpServletResponse para devolver datos en formato texto al cliente. Antes de acceder al writer, el ejemplo selecciona la cabecera del tipo de contenido. Al final del método doPost, después de haber enviado la respuesta, el Writer se cierra.

No hay comentarios:

Publicar un comentario