to the main page about the tutorial  INTERACTIVE WEB SERVICES WITH JAVA back up next

Responses

- the response is generated using the given HttpServletResponse:

- always make the header before sending the response body

Example:
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class Responses extends HttpServlet 
{
    public void doGet(HttpServletRequest request, HttpServletResponse response)
	throws IOException, ServletException
    {
	long expires = new Date().getTime() + 1000*60*60*24;
	response.setContentType("text/html");
	response.addDateHeader("Expires", expires);
	ServletOutputStream out = response.getOutputStream();
	out.println("<html><head><title>Servlet Response</title></head><body>");
	out.println("<h1>Todays News</h1>");
	out.println(getNews());
	out.println("<p><hr>");
	out.println("<i>This news item expires " + new Date(expires));
	out.println("</body></html>");
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response)
	throws IOException, ServletException
    {
	response.sendError(response.SC_METHOD_NOT_ALLOWED, "Que? - No habla POST!");
    }

    private String getNews()
    {
	return "Nothing has happened since yesterday...";
    }
}

(setContentType and addDateHeader are convenience methods on top of setHeader and addHeader...)

Warning: browsers usually cache responses to GET request - use response.addDateHeader("Expires", 0) to disable caching.

back COPYRIGHT © 2002-2003 ANDERS MØLLER & MICHAEL I. SCHWARTZBACH next