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.