response:响应;服务器返回给浏览器解析的数据
response结构:响应行、响应头、响应体
响应行:
格式:协议/版本 状态码 状态说明
状态码:
1xx:已发送请求
2xx:响应完成 200:正常完成
3xx:浏览器进步操作 302:重定向;304:读缓存;
4xx:用户操作失误 404:用户访问的资源不存在
5xx:服务器内部错误 500:程序异常
常用方法:
setStatus(int code):针对状态码1、2、3
sendError(int code):针对状态码4、5
响应头:
格式:键值对:key/value value可以为多值
常用方法:
setHeader(String name,String value):设置一个字符串形式的响应头
setIntHeader(string name,int value):设置一个整型响应头
setDateHeader(string name, long value):设置一个时间响应头
addHeader(String name,String value):追加一个字符串形式的响应头,若无设置则设置,若已设置则追加。
常见的相应的响应头:
location:重定向
1.设置状态码;设置响应头
response.setStatus(302);
response.setHeader(“location”,"/项目名/文件名");
2.response.sendRedirect("/项目名/文件名");
ps:重定向会使地址栏发生变化;发送两次请求;response对象发起;路径是一个绝对路径,带项目名。
refresh:定时刷新:
1.response.setHeader(“refresh”,“秒数;url=跳转路径”);
2.< meta http-equiv=“refresh” content=“秒数;url=跳转路径” >;
content-type:设置文件mime类型,设置响应流的编码,通知浏览器用啥打开。
响应处理乱码:response.setContentType(“mime类型;charest=编码”);
响应体:
常用方法:
printWrite getWrite():字符流
例如:response.getWrite().print(“111”);
servletOutputStream getOutputStream():字节流
ps:字节输出流需要处理乱码,字节输出流不需要处理;两个流不能同时在一个文件中,两流互斥。
响应中文乱码:
response.setHeader(“content-Type”,“文件类型mime;charset=utf-8”);
response.setContentType(“mime文件类型;charset=utf-8”);