Servlets (Básico)

Para manejar peticiones HTTP en un servlet, extendemos la clase HttpServlet y sobreescribimos 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 sobreescribir 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 sobreescribe el m�todo doGet. Dentro del m�todo doGet, el m�todo getParameter obtiene los argumentos esperados por el servlet.

Para responder al cliente, el m�todo doGet utiliza un Writer del objeto HttpServletResponse 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 sobreescribir 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("<h3>Thank you for purchasing your books from us " +
                    request.getParameter("cardname") +
                    ...);
        out.close();
    }
    ...
}

El servlet extiende la clase HttpServlet y sobreescribe 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 objeto HttpServletResponse 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.

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP