1. 响应对象
回馈结果,服务器给客服端浏览器反馈结果
2. 常见状态码
- 200 成功
- 302 重定向
- 304 请求资源未改变,使用缓存
- 400 请求错误
- 404 请求资源未找到
- 405 请求方式不支持
- 500 服务器错误
3. 字节流响应消息
- getOutpitStream() 获取响应字节输出流对象
- setContentType(“text/html;charset=UTF-8”) 设置响应内容类型 以及字符编码
4. 字符流响应消息
getWriter() 获取字符流输出对象
- write(obj) 写入数据给客户端
- setContentType(“text/html;charset=UTF-8”) 设置响应内容类型 以及字符编码
5. 设置缓存
对于不经常变化的数据,我可以设置合理的缓存时间,以避免浏览器频繁请求服务器
setDateHeader(String name,long time) 设置消息头添加缓存,时间单位毫秒
response.setDateHeader("Expires",System.currentTimeMillis() + 1*60*60*1000);
// Expires为过期时间关键字 time为当前时间 + 需要持续的时间
6. 定时刷新
过了指定时间后,页面自动进行跳转
setHeader(String name,String value) 设置消息头定时刷新
response.setHeader("Refresh","3;URL=/login.html")
// Refresh 刷新关键字 3为3s URL为虚拟路径
7. 请求重定向
客户端的一次请求到达后,发现需要借助其他Servlet来实现功能
与请求转发不一样,地址栏会改变,两次请求和请求域对象不能共享数据,可以重定向其他服务器
sendRedirect(String name) 设置重定向
response.sendRedirect(request.getContextPath() + "/demo02");
// 虚拟路径或者服务器URL
8. 文件下载
setHeader(String name,String value)
response.setHeader("Content-Type","application/octet-stream")
// 设置响应头支持的类型 Content-Type消息头名称支持的类型
// application/octet-stream 消息头参数 应用的类型为字节流
response.setHeader("Content-Dispostition","attachment;filename=xxx.zip")
// 设置响应头以下载方式打开附件
// Content-Dispostition 处理形式
// attachment;filename=xxx.zip 以附件形式处理 并指定下载文件的名词