JSP内置对象——Response对象

一、HTTP协议

GET请求协议格式 (get请求没有请求体)
在这里插入图片描述POST请求协议格式
在这里插入图片描述

  1. 请求消息:客户端发送给服务器端的数据
    * 数据格式:
    ①. 请求行
    ②. 请求头
    ③. 请求空行
    ④. 请求体

  2. 响应消息:服务器端发送给客户端的数据
    数据格式:
    ①. 响应行
    组成:协议/版本 响应状态码 状态码描述
    响应状态码:服务器告诉客户端浏览器本次请求和响应的一个状态。
    * 状态码都是3位数字
    * 分类:
    1xx:服务器就收客户端消息,但没有接受完成,等待一段时间后,发送1xx多状态码
    2xx:成功。代表:200
    3xx:重定向。代表:302(重定向),304(访问缓存)
    4xx:客户端错误。 * 404(请求路径没有对应的资源) * 405:请求方式没有对应的doXxx方法
    5xx:服务器端错误。代表:500(服务器内部出现异常)

②. 响应头:
格式:头名称: 值
常见的响应头:
Content-Type:服务器告诉客户端本次响应体数据格式以及编码格式
Content-disposition:服务器告诉客户端以什么格式打开响应体数据
响应空行
响应体:传输的数据

二、功能:response对象主要用于对客户端的请求进行回应。
以及处理http的连接信息,例如设置http文件头,设置cookie对象等。
3. 设置响应行
①. 格式:HTTP/1.1 200 ok
② 设置状态码:setStatus(int sc)
4. 设置响应头:setHeader(String name, String value)

  1. 设置响应体:
    * 使用步骤:
    1. 获取输出流
    * 字符输出流:PrintWriter getWriter()
    * 字节输出流:ServletOutputStream getOutputStream()
    2. 使用输出流,将数据输出到客户端浏览器

三、response对象方法:

方法说明
addCookie添加一个Cookie对象
addHeader添加Http文件指定名字头信息
containsHeader判断指定名字Http文件头信息是否存在
encodeURL使用sessionid封装URL
flushBuffer强制把当前缓冲区内容发送到客户端
getBufferSize返回缓冲区大小
getOutputStream返回到客户端的输出流对象
sendError向客户端发送错误信息
sendRedirect把响应发送到另一个位置进行处理
setContentType设置响应的MIME类型
setHeade设置指定名字的Http文件头信息

三、重定向
在这里插入图片描述

//访问responseDemo1这个资源会跳转到responseDemo2资源
//1.设置状态码302
response.setStatus(302);
//2.1方法一:设置响应头location
//response.setHeader("location","/JavaScript_Response_war_exploded/responseDemo2");

//2.2方法二:简单的重定向方法
response.sendRedirect("/JavaScript_Response_war_exploded/responseDemo2");
//response.sendRedirect("https://www.baidu.com");

forward 和 redirect 区别

  • 重定向的特点:redirect response.sendRedirect(“目标绝对路径”);
    1. 地址栏发生变化
    2. 重定向可以访问其他站点(服务器)的资源
    3. 重定向是两次请求。不能使用request对象来共享数据
  • 转发的特点:forward request.getRequestDispatcher(“目标相对路径”).forward(request,response);
    1. 转发地址栏路径不变
    2. 转发只能访问当前服务器下的资源(一种在服务器内部的资源跳转方式)
    3. 转发是一次请求,可以使用request对象来共享数据
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值