|
NOTE:
These slides have not been updated since 2003. They have been superseded by the book
Anders Møller and Michael Schwartzbach, February 2006 |
|
| INTERACTIVE WEB SERVICES WITH JAVA |
|
- always make the header before sending the response body
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.
|
| COPYRIGHT © 2002-2003 ANDERS MØLLER & MICHAEL I. SCHWARTZBACH |
|