HTTP 协议 Response 响应

目录

一、设置响应消息

1、设置响应行

2、设置响应头

3、设置响应体

二、Response 响应机制

1、重定向和转发的区别

2、服务器输出字符数据到浏览器

3、服务器输出字节数据到浏览器


一、设置响应消息

1、设置响应行

  • 格式:HTTP/1.1 200 ok
  • 设置状态码:setStatus(int sc)

2、设置响应头

  • setHeader(String name,String value)

3、设置响应体

  • 获取输出流
    • 字符输出流:PrintWriter getWriter()
    • 字节输出流:ServletOutputStream getOutputStream()
  • 使用输出流,将数据输出到客户端浏览器

二、Response 响应机制

重定向(Redirect)就是通过各种方法将各种网络请求重新定个方向转到其它位置(如:网页重定向、域名的重定向、路由选择的变化也是对数据报文经由路径的一种重定向)

1、重定向和转发的区别

【1】重定向(Redirect)

  • 地址栏发生变化
  • 重定向可以访问其他站点(服务器)的资源
  • 重定向是两次请求(不能使用 request 域来共享数据)

【2】转发(Forward)

  • 转发地址栏路径不变
  • 转发只能访问当前服务器下的资源
  • 转发是一次请求(可以使用 request 域来共享数据)
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    //方式一
    //1.设置状态码为302
    //response.setStatus(302);
    //2.设置响应头"location"
    //response.setHeader("location","/response2");

    //方式二
    response.sendRedirect("/response2");
}

2、服务器输出字符数据到浏览器

  1. 获取字符输出流:PrintWriter pw = response.getWriter();
  2. 输出数据:pw.write("mesage");

设置编码格式:response.setContentType("text/html;charset=utf-8");

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    //设置编码格式
    response.setContentType("text/html;charset=utf-8");
    //获取字符输出流
    PrintWriter pw = response.getWriter();
    //输出数据
    pw.write("oneStar!海绵宝宝");
}

3、服务器输出字节数据到浏览器

  1. 获取字节输出流:
  2. 输出数据:

设置编码格式:response.setContentType("text/html;charset=utf-8");

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    //设置编码
    response.setContentType("text/html;charset=utf-8");
    //获取字节输出流
    ServletOutputStream sos = response.getOutputStream();
    //输出数据
    sos.write("你好".getBytes("utf-8"));
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ONESTAR博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值