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 |