35.1 Response对象实现重定向、Response输出字节数据与字符数据、实现验证码、相对路径与绝对路径

这篇博客详细介绍了HTTP响应消息的格式,并通过Response对象展示了如何实现重定向、输出字符数据和字节数据,以及探讨了在Java中处理验证码和相对路径与绝对路径的方法。内容包括请求与转发的实践、响应头的设置、防止乱码的处理和URL路径的使用等。
摘要由CSDN通过智能技术生成

目录

1 Http响应消息

2 Response对象

3 Response对象设置响应行

3.1 Response完成重定向

列:请求与转发练习 

4Response对象输出数据

4.1 Response对象:输出字符数据

 4.2 Response对象:输出字节数据

5 列:实现验证码

6 相对路径与绝对路径


1 Http响应消息

响应消息:服务器端发送给客户端的数据

HTTP协议响应消息数据格式
响应行

 1. 组成:协议/版本 响应状态码 状态码描述
 2. 响应状态码:服务器告诉客户端浏览器本次请求和响应的一个状态。(状态码都是3位数字 )

     响应状态码分类:

             1.   1xx:服务器就收客户端消息,但没有接受完成,等待一段时间后,发送1xx多状态码

             2.   2xx:成功。代表:200

             3.   3xx:重定向。代表:302(重定向),304(访问缓存)

             4.   4xx:客户端错误。代表:404(请求路径没有对应的资源) 405:请求方式没有对应的doXxx方法

             5.   5xx:服务器端错误。代表:500(服务器内部出现异常)

响应头

格式:头名称: 值

常见的响应头:

1. Content-Type:服务器告诉客户端本次响应体数据格式以及编码格式
2. Content-disposition:服务器告诉客户端以什么格式打开响应体数据                   
      * 值: in-line:默认值,在当前页面内打开     * attachment;filename=xxx:以附件形式打开响应体。文件下载

响应空行  
响应体 传输的数据

响应字符串格式
        HTTP/1.1 200 OK
        Content-Type: text/html;charset=UTF-8
        Content-Length: 101
        Date: Wed, 06 Jun 2018 07:08:42 GMT

        <html>
          <head>
            <title>$Title$</title>
          </head>
          <body>
          hello , response
          </body>
        </html>

2 Response对象

Response对象实现响应消息,它可以设置响应行、响应头、响应题

设置响应行 格式:HTTP/1.1 200 ok
设置状态码:setStatus(int sc)
设置响应头 设置响应头:setHeader(String name, String value) 
设置响应体

使用步骤:
            1. 获取输出流
                * 字符输出流:PrintWriter getWriter()

                * 字节输出流:ServletOutputStream getOutputStream()

            2. 使用输出流,将数据输出到客户端浏览器

3 Response对象设置响应行

3.1 Response完成重定向

forward 和 redirect 区别
重定向的特点:redirect

1. 地址栏发生变化

2. 重定向可以访问其他站点(服务器)的资源
3. 重定向是两次请求。不能使用request对象来共享数据

转发的特点:forward 1. 转发地址栏路径不变
2. 转发只能访问当前服务器下的资源
 3. 转发是一次请求,可以使用request对象来共享数据

列:请求与转发练习 

@WebServlet("/responseDemo1")
public class ResponseDemo1 extends HttpServlet {
    @Override
    pr
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值