Response对象的概述
什么是Response
- 开发的软件是B/S结构的软件,可以通过浏览器访问服务器的软件。从浏览器输入一个地址访问服务器(将这个过程称为是请求)。服务器接收到请求,需要进行处理,处理以后需要将处理结果显示回浏览器端(将这个过程称为是响应)。
Response对象的API:
-
Response关于响应行的方法
- 设置响应的状态码
- 200 正确
- 302 重定向
- 304 查找本地缓存
- 404 请求资源不存在
- 500 服务器内部错误
- Response关于响应头的方法
- set开头的方法:针对一个key对应一个value的情况。
- 举例:比如有一个头 content-Type:text/html setHeader(“content-Type”,”text/plain”);
- 最终得到头的结果:content-Type:text/plain
- add开头的方法:针对一个key对应多个value的情况。
- 举例:比如有一个content-Type:text/html addHeader(“content-Type”,”text/plain”);
- 最终得到头的结果:content-Type:text/html,text/plain
- 设置响应的状态码
-
Response关于响应体的方法
-
Response其他的API
- 重定向的方法
- 设置浏览器打开页面时候采用的字符集
- 设置响应字符流的缓冲区字符集
- 服务器向浏览器回写Cookie的方法
Response对象的API的代码演示- 设置状态码和完成重定向
- 重定向的方法
/**
* 设置响应的状态码
* * 使用状态码和Location头完成重定向
* * 定时刷新
*/
public class ResponseDemo1 extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 设置响应的状态码:
// response.setStatus(404);
// 完成重定向
response.setStatus(302);
// 设置响应头
response.setHeader("Location", "/web01/ResponseDemo2");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
doGet(request, response);
}
}
- 实际开发中可以使用
response.sendRedirect(“/web01/ResponseDemo2”);替换重定向两句写法
- 定时刷新效果
// 定时刷新
response.setContentType("text/html;charset=UTF-8");
response.getWriter().println("5秒以后页面跳转!");
response.setHeader("Refresh", "5;url=/web01/ResponseDemo2");
-
页面定时跳转的扩展
-
使用JS完成读秒的效果
- 在HTML中完成页面跳转
使用JS完成读秒效果
- 在HTML中完成页面跳转
-