javax.servlet.ServletResponse Maven / Gradle / Ivy
Show all versions of javaee-16 Show documentation
/*
* Copyright (c) 1998-2018 Caucho Technology -- all rights reserved
*
* This file is part of Resin(R) Open Source
*
* Each copy or derived work must preserve the copyright notice and this
* notice unmodified.
*
* Resin Open Source is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* Resin Open Source is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, or any warranty
* of NON-INFRINGEMENT. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License
* along with Resin Open Source; if not, write to the
*
* Free Software Foundation, Inc.
* 59 Temple Place, Suite 330
* Boston, MA 02111-1307 USA
*
* @author Scott Ferguson
*/
package javax.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Locale;
/**
* ServletReponse control the output to the client.
*
* A typical servlet will output its response as follows:
*
*
* response.setContentType("text/html; charset=UTF-8");
* PrintWriter pw = response.getWriter();
* pw.println("Hello, world");
*
*
*
Buffering
*
* The servlet engine buffers output before sending it to the client.
* Buffering adds efficiency and flexibility. Until data is actually
* committed to the client, the servlet can change headers or reset the
* entire results.
*
* Character encoding
*
* Use either setContentType
or setLocale
to
* set the character encoding.
*
*
* response.setContentType("text/html; charset=ISO-8859-2");
*
*/
public interface ServletResponse {
/**
* Sets the response content type. The content type includes
* the character encoding. The content type must be set before
* calling getWriter()
so the writer can use the
* proper character encoding.
*
* To set the output character encoding to ISO-8859-2, use the
* following:
*
*
* response.setContentType("text/html; charset=ISO-8859-2");
*
*
* @param type the mime type of the output
*/
public void setContentType(String type);
/**
* Returns the content type for the response.
*
* @since 2.4
*/
public String getContentType();
/**
* Returns the character encoding the response is using for output.
* If no character encoding is specified, ISO-8859-1 will be used.
*/
public String getCharacterEncoding();
/**
* Sets the character encoding the response is using for output.
* If no character encoding is specified, ISO-8859-1 will be used.
*
* @since 2.4
*/
public void setCharacterEncoding(String charset);
/**
* Sets the output locale. The response will set the character encoding
* based on the locale. For example, setting the "kr" locale will set
* the character encoding to "EUC_KR".
*/
public void setLocale(Locale locale);
/**
* Returns the output locale.
*/
public Locale getLocale();
/**
* Returns an output stream for writing to the client. You can use
* the output stream to write binary data.
*/
public ServletOutputStream getOutputStream()
throws IOException;
/**
* Returns a PrintWriter with the proper character encoding for writing
* text data to the client.
*/
public PrintWriter getWriter()
throws IOException;
/**
* Sets the output buffer size to size
. The servlet engine
* may round the size up.
*
* @param size the new output buffer size.
*/
public void setBufferSize(int size);
/**
* Returns the size of the output buffer.
*/
public int getBufferSize();
/**
* Flushes the buffer to the client.
*/
public void flushBuffer()
throws IOException;
/**
* Returns true if some data has actually been send to the client. The
* data will be sent if the buffer overflows or if it's explicitly flushed.
*/
public boolean isCommitted();
/**
* Resets the output stream, clearing headers and the output buffer.
* Calling reset()
after data has been committed is illegal.
*
* @throws IllegalStateException if isCommitted()
is true.
*/
public void reset();
/**
* Resets the output stream, clearing headers and the output buffer.
* Calling reset()
after data has been committed is illegal.
*
* @throws IllegalStateException if isCommitted()
is true.
*/
public void resetBuffer();
/**
* Explicitly sets the length of the result value. Normally, the servlet
* engine will handle this.
*/
public void setContentLength(int len);
}