JavaWeb之HttpServletResponse
程序员文章站
2022-05-08 16:00:50
...
每次请求时,服务器都会创建新的request和response对象。
1.设置状态码
sendError(int sc) :发送错误状态码
sendError(int sc, String msg) :发送错误状态码,附带错误信息
setStatus(int sc) :设置没有错误时的状态码
2.设置响应头
setHeader(String name, String value):适用于单值的响应头
addHeader(String name, String value):适用于多值的响应头
setIntHeader(String name, int value):适用于单值的int类型的响应头
addIntHeader(String name, int value):适用于多值的int类型的响应头
setDateHeader(String name, long value):适用于单值的毫秒类型的响应头
addDateHeader(String name, long value):适用于多值的毫秒类型的响应头
3.设置响应体
响应体可以是html、图片等。getOutputStream():用来向客户端发送字节数据。
getWriter():用来向客户端发送字符数据。
【注意】两个流不能同时使用!
response.getWriter()返回PrintWriter对象,它有缓冲区,缓冲区默认大小为8KB。在响应数据没达到8KB之前,数据都存放在缓冲区中,而不会立刻发送到客户端。当Servlet执行结束后,服务器才会去刷新流,使缓冲区中的数据发送到客户端。
如果希望响应数据马上发送给客户端,那么有如下两种方法:
(1)向流中写入大于8KB的数据;
(2)调用response.flushBuffer()方法刷新缓冲区;