HttpServletResponse 常用方法
HttpServletResponse 继承了ServletResponse,补充了大量的get方法。所以这里把HttpServletResponse 和ServletResponse的Api写在一起了
ServletResponse
返回值 | 方法名 | 描述 |
---|
String | getCharacterEncoding() | 返回用于此响应中发送的正文的字符编码 (MIME charset) 名称。可能已使用 #setCharacterEncoding 或 #setContentType 方法显式指定字符编码,或使用 #setLocale 方法隐式指定它。显式指定优先于隐式指定。在已调用 getWriter 之后或者在已提交响应之后调用这些方法不会对字符编码产生任何影响。如果未指定字符编码,则返回 ISO-8859-1 。 |
String | getContentType() | 返回用于此响应中发送的 MIME 正文的内容类型。必须在提交响应之前已使用 #setContentType 指定适当的内容类型。如果未指定内容类型,则此方法返回 null。如果已指定内容类型,并且已经如 #getCharacterEncoding 中所述显式或隐式指定了字符编码或者已调用 #getWriter ,则返回的字符串中将包含 charset 参数。如果未指定字符编码,则省略 charset 参数。 |
ServletOutputStream | getOutputStream() | 返回适用于在响应中编写二进制数据的 ServletOutputStream 。servlet 容器不会编码二进制数据。 |
PrintWriter | getWriter() | 返回可将字符文本发送到客户端的 PrintWriter 对象。PrintWriter 使用 #getCharacterEncoding 返回的字符编码。如果未如 getCharacterEncoding 中所述指定响应的字符编码(即该方法只返回默认值 ISO-8859-1 ),则 getWriter 会将字符编码更新到 ISO-8859-1 。 |
void | setCharacterEncoding(String charset) | 设置将发送到客户端的响应的字符编码 (MIME charset),例如,将它设置为 UTF-8。如果已通过 #setContentType 或 #setLocale 设置了字符编码,则此方法将重写该字符编码。用 text/html 的 String 调用 #setContentType 并用 UTF-8 的 String 调用此方法等效于用 text/html; charset=UTF-8 的 String 调用 setContentType 。 |
void | setContentLength(int len) | 设置 HTTP servlet 中响应的内容正文的长度,此方法设置 HTTP Content-Length 头。 |
void | setContentType(String type) | 设置将发送到客户端的响应的内容类型,如果该响应尚未提交。给定内容类型可能包含字符编码规范,例如 text/html;charset=UTF-8 。如果在调用 getWriter 之前调用此方法,则只根据给定内容类型设置响应的字符编码。 |
void | setBufferSize(int size) | 设置响应正文的首选缓冲区大小。servlet 容器将使用至少与所请求大小一样大的缓冲区。可使用 getBufferSize 获得使用的实际缓冲区大小。 |
int | getBufferSize() | 返回用于该响应的实际缓冲区大小。如果未使用任何缓冲,则此方法返回 0。 |
void | flushBuffer() | 强行将缓冲区中的所有内容写入客户端。调用此方法会自动提交响应,这意味着将编写状态代码和头。 |
void | resetBuffer() | 清除响应中底层缓冲区的内容,而不清除头或状态代码。如果已提交响应,则此方法将抛出 IllegalStateException 。 |
boolean | isCommitted() | 返回指示响应是否已提交的 boolean 值。已提交的响应已将其状态代码和头编写好。 |
void | reset() | 清除缓冲区中存在的所有数据以及状态代码和头。如果已提交响应,则此方法将抛出 IllegalStateException 。 |
void | setLocale(java.util.Locale loc) | 设置响应的语言环境,如果该响应尚未提交。如果尚未使用 #setContentType ] 或 #setCharacterEncoding 显式设置字符编码、尚未调用 getWriter ,并且响应尚未提交,则此方法还将设置适合该语言环境的响应的字符编码。 |
Locale | getLocale() | 返回使用 setLocale 方法指定的此响应的语言环境。在已提交响应后调用 setLocale 没有任何效果。如果未指定任何语言环境,则返回容器的默认语言环境。 |
HttpServletResponse
返回值 | 方法名 | 描述 |
---|
Cookie | addCookie(Cookie cookie) | 将指定 cookie 添加到响应。可多次调用此方法设置一个以上的 cookie。 |
String | encodeURL(String url) | 通过将会话 ID 包含在指定 URL 中对该 URL 进行编码,如果不需要编码,则返回未更改的 URL。此方法的实现包含可以确定会话 ID 是否需要在 URL 中编码的逻辑。例如,如果浏览器支持 cookie,或者关闭了会话跟踪,则 URL 编码就不是必需的。 |
String | encodeRedirectUrl(String url) | 如果需要编码,则返回编码的 URL;否则返回未更改的 URL。 |
void | sendError(int sc, String msg) | 使用指定状态将错误响应发送到客户端。 |
void | sendError(int sc) | 使用指定状态代码并清除缓冲区将错误响应发送到客户端。 |
void | sendRedirect(String location) | 使用指定重定向位置 URL 将临时重定向响应发送到客户端。此方法可以接受相对 URL;servlet 容器必须在将响应发送到客户端之前将相对 URL 转换为绝对 URL。如果位置是相对的,没有前导 ‘/’,则容器将相对于当前请求 URI 对其进行解释。如果位置是相对的,有一个前导 ‘/’,则容器将相对于 servlet 容器根对其进行解释。 |
void | setDateHeader(String name, long date) | 用给定名称和日期值设置响应头。该日期根据距历元时间的毫秒数指定。如果已经设置了头,则新值将重写以前的值。 |
void | addDateHeader(String name, long date) | 用给定名称和日期值添加响应头。该日期根据距历元时间的毫秒数指定。此方法允许响应头有多个值。 |
void | setHeader(String name, String value) | 用给定名称和值设置响应头。如果已经设置了头,则新值将重写以前的值。containsHeader 方法可用于测试在设置其值之前头是否存在。 |
void | addHeader(String name, String value) | 用给定名称和值添加响应头。此方法允许响应头有多个值。 |
void | setIntHeader(String name, int value) | 用给定名称和整数值设置响应头。如果已经设置了头,则新值将重写以前的值。containsHeader 方法可用于测试在设置其值之前头是否存在。 |
void | addIntHeader(String name, int value) | 用给定名称和整数值添加响应头。此方法允许响应头有多个值。 |
void | setStatus(int sc) | 设置此响应的状态代码。此方法用于设置没有错误时的返回状态代码(例如状态代码 SC_OK 或 SC_MOVED_TEMPORARILY)。如果有错误,并且调用者希望调用 Web 应用程序中定义的错误页面,则应改用 sendError 方法。 |
void | setStatus(int sc, String sm) | 从版本 2.1 起,由于消息参数的含义不明确。使用 setStatus(int) 设置状态代码,使用 sendError(int, String) 发送带描述的错误。 设置此响应的状态代码和消息。 |