$KK(Das HttpServletResponse Interface) $R(Objective) Using the HttpServletResponse interface, write code to set an HTTP response header, set the content type of the response, acquire a text stream for the response, acquire a binary stream for the response, redirect an HTTP request to another URL, or add cookies to the response. $R\ Hier die Methoden des Interface, die für dieses Objective interessant sind $S() public interface ServletResponse { public PrintWriter getWriter() throws IOException; public ServletOutputStream getOutputStream() throws IOException; public void setContentType(String type); ... } $S\ $S() public interface HttpServletResponse extends ServletResponse{ public void addCookie(Cookie cookie); public boolean containsHeader(String name); public void addHeader(String name, String value); public void setHeader(String name, String value); public void addDateHeader(String name, long date); public void setDateHeader(String name, long date); public void addIntHeader(String name, int value); public void setIntHeader(String name, int value); public void sendRedirect(String location) throws IOException; ... } $S\ $KKK(Setzen der Headers) * public boolean containsHeader(String name); Überprüft ob ein Header mit dem Parameter name gesetzt ist. * public void setHeader(String name, String value); * public void setDateHeader(String name, long date); * public void setIntHeader(String name, int value); Diese Methoden setzen einen Header. Existieren schon Header mit denselben Namen, werden diese überschrieben. * public void addHeader(String name, String value); * public void addDateHeader(String name, long date); * public void addIntHeader(String name, int value); Diese Methoden setzen einen Header, überschreiben aber nicht existierende. Sie werden benutzt um Header mit mehreren Werten zu erzeugen. $KKK(Textuelle und Binäre Ausgabe) * setContentType(String) Mit setContentType wird mitgeteilt welche Art von Daten übertragen werden, und wie sie zu bearbeiten sind, entsprechend der MIME Typs Beispiele: $S() setContentType("text/html"); // Default Einstellung setContentType("text/plain"); setContentType("text/xml"); setContentType("application/jar"); $S\ setContentType(String) sollte am Anfang einer Ausgabe stehen. * public PrintWriter getWriter() throws IOException; Diese Methode wird für Ausgaben mit ASCII Texten benutzt. Beispiel: $S() import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class KinoServlet extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException { resp.setContentType("text/html"); // Ausgabe ist als Html File zu interpretieren PrintWriter out = resp.getWriter(); out.println(""); out.println("