1.什么是Response
- Response代表响应对象. 原型是HttpServletResponse, 服务器创建的, 以形参的形式存在doGet()/doPost()方法
- Response的作用
- 操作响应的三部分(行, 头, 体)
2.操作响应行
- 设置的API: response.setStatus(int code);
- 一般不需要设置, 可能302 重定向需要设置
- 常见的响应状态码
- 200 成功
- 302 重定向
- 304 读缓存
- 404 客户端错误
- 500 服务器错误
3.操作响应头
1.操作响应头
response.setHeader(String name,String value)
2.重定向 response.sendRedirect(“重定向的路径”)==
- 重定向两次请求
- 重定向的地址栏路径改变
- 重定向的路径可以写项目内部的, 也可以写项目外部的(eg: 百度)
3.转发和重定向区别
- 转发是一次请求, 重定向是二次请求
- 转发的路径不会改变,重定向的路径会改变
- 转发只能转发到项目的内部资源,重定向可以重定向到项目的内部资源, 也可以是项目外部资源(eg:百度)
- 转发可以转发到WEB-INF下面的资源, 重定向不可以重定向到WEB-INF下面的资源
- 把数据存到request里面,转发有效, 重定向无效
4.操作响应体
- 使用字符输出流输出文本内容
- response.getWriter()获取字符输出流
- writer.write()/print()输出字符串
- 解决响应数据的中文乱码:response.setContentType(“text/html;charset=UTF-8”)
- 使用字节输出流输出文件
- response.getOutputStream()获取字节输出流