暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Java Response

Hello 帅帅 2021-02-05
511

response对象是来设置响应消息

响应行

组成:协议/版本 响应状态码 状态码描述

响应状态码:

服务器告诉客户端浏览器本次请求和响应的一个状态。

状态码都是3位数字

分类:

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

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

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

  4. 4xx:客户端错误。

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

响应头

格式:头名称:值

常见的响应头:

  1. Content-Type:服务器告诉客户端本次响应体数据格式以及编码格式

  2. Content-disposition:服务器告诉客户端以什么格式打开响应体数据

    1. in-line:默认值,在当前页面内打开

    2. attachment;filename=xxx:以附件形式打开响应体。文件下载

Response方法

设置响应行

  1. 格式:HTTP/1.1 200 ok

    1. 设置状态码:setStatus(int sc)

    2. 设置响应头:setHeader(String name, String value)

设置响应体:

  1. 获取输出流

    1. 字符输出流:PrintWriter getWriter()

    2. 字节输出流:ServletOutputStream getOutputStream()

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


重定向代码案例

ResponseDemo1:

         @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) {
    System.out.println("demo1。。。");
    // 重定向代码
    resp.setStatus(302);
    resp.setHeader("location", "/responsedemo1/ResponseDemo2");

    // 重定向代码2,两者都可以
    // resp.sendRedirect("/responsedemo1/ResponseDemo2");
    }

    ResponseDemo2:

       @WebServlet("/ResponseDemo2")
      public class ResponseDemo2 extends HttpServlet {
      @Override
      protected void doPost(HttpServletRequest req, HttpServletResponse resp) {
      System.out.println("demo2。。。");
      }
      @Override
      protected void doGet(HttpServletRequest req, HttpServletResponse resp){
      this.doPost(req,resp);
      }
      }

      输出:

         demo1。。。
        demo2。。。

        输出字符串

           @Override
          protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
          //设置文本编码1
          resp.setHeader("content-type", "text/html;charset=utf-8");
          //设置文本编码2
          resp.setContentType("text/html;charset=utf-8");
          //获取字符输出流
          PrintWriter writer = resp.getWriter();
          //将字符串写入流中
          writer.write("<h1>你好。。。</h1>");
          }

          最后修改时间:2021-02-05 15:08:07
          文章转载自Hello 帅帅,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

          评论