HttpServletResponse响应对象讲解(笔记)

简介:讲解HttpServletResponse知识点

  • HttpServletResponse对象

简介:代表服务器器的响应,封装了了向客户端发送数据、发送响应头,发送响应状态码的⽅方法

  • 常见API

//设置有多个值的http响应头,参数name表示响应头名称,参数value表示响应头的值,

//⽐比如:response.addHeader("name", "java");

response.addHeader("name","spring");

addHeader(String name,String value)

//设置只有⼀一个值的http响应头,参数name表示响应头名称,参数value表示响应头的值

setHeader(String name,String value)

//设置http状态码

response.setStatus(200)

  • getOutputStream():
  • 创建的字节输出流对象,可以按字节形式输出响应正⽂文,直接输出字节数组中的⼆二进制数据,更更多⽤用于下载输出⽂文件流.
java 复制代码
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        // 设置状态码
        resp.setStatus(200); // 或使用 resp.setStatus(HttpServletResponse.SC_OK);

        // 设置单个响应头(覆盖方式)
        resp.setHeader("Content-Type", "text/html;charset=UTF-8");

        // 添加多个相同名称的响应头
        resp.addHeader("X-Custom-Header", "Value1");
        resp.addHeader("X-Custom-Header", "Value2");
        String data = "你好,世界";
        //获取OutputStream输出流
        OutputStream outputStream = resp.getOutputStream();
        //将字符转换成字节数组,指定以UTF-8编码进⾏行行转换
        byte[] dataByteArr = data.getBytes("UTF-8");
        //使⽤用OutputStream流向客户端输出字节数组
        outputStream.write(dataByteArr);
    }
  • getWriter()
  • 创建的字符输出流对象,可以按字符形式输出响应正⽂文,只能输出输出字符⽂文本内容,和上⾯的互斥
java 复制代码
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//设置编码格式为UTF-8
        resp.setCharacterEncoding("UTF-8");
//通过设置响应头控制浏览器器以UTF-8的编码显示数据,如果不不加这句句话,那么浏览器器显示的将是乱码
        resp.setHeader("content-type", "text/html;charset=UTF-8");
        String data = "如果说";
//获取PrintWriter输出流
        PrintWriter out = resp.getWriter();
//使⽤用PrintWriter流向客户端输出字符
        out.write(data);
    }
相关推荐
金金金__1 分钟前
antd v5 support React is 16 ~ 18. see https://u.ant.design/v5-for-19 for...
前端
会豪2 分钟前
工业仿真(simulation)--前端(二)-资源管理器
前端
清木!15 分钟前
数据仓库详解
笔记
a5876938 分钟前
消息队列(MQ)初级入门:详解RabbitMQ与Kafka
java·分布式·microsoft·面试·kafka·rabbitmq
@小红花1 小时前
从0到1学习Vue框架Day03
前端·javascript·vue.js·学习·ecmascript
千里码aicood1 小时前
【springboot+vue】党员党建活动管理平台(源码+文档+调试+基础修改+答疑)
java·数据库·spring boot
前端与小赵1 小时前
vue3中 ref() 和 reactive() 的区别
前端·javascript·vue.js
Chan161 小时前
【智能协同云图库】基于统一接口架构构建多维度分析功能、结合 ECharts 可视化与权限校验实现用户 / 管理员图库统计、通过 SQL 优化与流式处理提升数据
java·spring boot·后端·sql·spring·intellij-idea·echarts
先做个垃圾出来………1 小时前
差分数组(Difference Array)
java·数据结构·算法
魔云连洲1 小时前
Vue的响应式底层原理:Proxy vs defineProperty
前端·javascript·vue.js