1.响应对象类型与生命周期
和请求对象类似,JavaEE响应要实现javax.servlet.http.HttpServletResponse接口。
而且在web组件开发中,不需要servlet和jsp自己创建对象,他们由web容器自动创建,并传递给
servlet和jsp的服务方法doGet和doPost,在服务处理方法中直接使用请求对象即可。
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{}
2.响应对象的功能
(1).设置响应状态码
(2).设置响应头信息
(3).设置响应体信息
(4).设置响应体发送方法
3.设置响应状态码
(1).public void setStatus(int code)
设置响应的状态码
response.setStatus(404);
(2).public void setStatus(int code,String message)
设置响应的状态码,同时设置自定义的状态消息
response.setStatus(404,"URL not found!");
(3).public void sendError(int statuscode) throws IOException
向客户端发送指定的错误信息码,可以是任何数字
response.setCharacterEncoding("utf-8");
response.sendError(580);
(4).public void sendError(int statuscode,String message) throws IOException
向客户端发送指定的错误信息码和自定义状态消息
response.setCharacterEncoding("utf-8");
response.sendError(580,"自定义错误信息");
4.设置响应头信息
(1).public void setHeader(String name,String value)
设置字符串类型的响应头的名称和值
response.setHeader("Content-Type","text/html");
(2).public void setIntHeader(String name,String value)
设置整数类型的响应头的名称和值
response.setIntHeader("Content-Length",20);
(3).public void setDateHeader(String name,long date)
设置日期类型的响应头
response.setDateHeader("Modify-Date",909920);
5.设置响应体信息
(1).public void setContentType(String type)
设置响应内容类型MIME响应头
response.setContentType("utf-8");
(2).public void setContentLength(int length)
设置响应体长度,以字节为单位
response.setContentLength(10240);
(3).public setCharacterEncoding
设置响应字符集,包括响应状态码、响应头和响应体
response.setCharacterEncoding("utf-8");
(4).public void setBufferSize(int size)
设置响应体缓存字节数
response.setBufferSize(1024);
6.设置响应体发送方法
(1).文本类型响应体发送方法
①.设置响应类型
response.setContentType("text/html");
②.设置响应字符编码
response.setCharacterEncoding("utf-8");
③.取得字符流输出流对象
PrintfWriter out=response.getWriter();
④.向流对象发送文本数据
out.printfln(<title>java</title>);
⑤.清空流中缓存的字符
out.flush();
⑥关闭流
out.close();
(2).二进制类型响应体发送方法
①.设置响应类型
response.setContentType("image/jpeg");
②.取得字节流输出流对象
OutputStream out=response.getOutputStream();
③.向流对象发送字节数据
out.println(200);
④.清空流中缓存的字节
out.flush();
⑤.关闭流
cn.close();