Interacting with Clients |
To handle HTTP requests in a servlet, extend the
HttpServlet
class and override the servlet methods that handle the HTTP requests that your servlet supports. This lesson illustrates the handling of GET and POST requests. The methods that handle these requests aredoGet
anddoPost
.
Handling GET requests
Handling GET requests involves overriding the
doGet
method. The following example shows the BookDetailServlet doing this. The methods discussed in the Requests and Responses section are shown in bold.
public class BookDetailServlet extends HttpServlet { public void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ... // set content-type header before accessing the Writer response.setContentType("text/html"); PrintWriter out = response.getWriter(); // then write the response out.println("<html>" + "<head><title>Book Description</title></head>" + ...); //Get the identifier of the book to display String bookId = request.getParameter("bookId"); if (bookId != null) { // and the information about the book and print it ... } out.println("</body></html>"); out.close(); } ... }The servlet extends the
HttpServlet
class and overrides thedoGet
method.Within the
doGet
method, thegetParameter
method gets the servlet's expected argument.To respond to the client, the example
doGet
method uses aWriter
from theHttpServletResponse
object to return text data to the client. Before accessing the writer, the example sets the content-type header. At the end of thedoGet
method, after the response has been sent, theWriter
is closed.
Handling POST Requests
Handling POST requests involves overriding the
doPost
method. The following example shows the ReceiptServlet doing this. Again, the methods discussed in the Requests and Responses section are shown in bold.
public class ReceiptServlet extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ... // set content type header before accessing the Writer response.setContentType("text/html"); PrintWriter out = response.getWriter(); // then write the response out.println("<html>" + "<head><title> Receipt </title>" + ...); out.println("<h3>Thank you for purchasing your books from us " + request.getParameter("cardname") + ...); out.close(); } ... }The servlet extends the
HttpServlet
class and overrides thedoPost
method.Within the
doPost
method, thegetParameter
method gets the servlet's expected argument.To respond to the client, the example
doPost
method uses aWriter
from theHttpServletResponse
object to return text data to the client. Before accessing the writer the example sets the content-type header. At the end of thedoPost
method, after the response has been set, theWriter
is closed.
Interacting with Clients |