springboot中EventSourceListener的onEvent方法中, 获取HttpServletResponse对象

在Spring Boot中,可以通过注入HttpServletResponse对象来获取。具体步骤如下:

  1. 在EventSourceListener类中定义一个HttpServletResponse类型的成员变量response,并添加一个构造函数,将response作为参数传入。

  2. 在onEvent方法中,通过response.getWriter()方法获取PrintWriter对象,然后使用该对象向客户端发送数据

以下是示例代码:

@Component
public class MyEventSourceListener implements EventSourceListener {private HttpServletResponse response;public MyEventSourceListener(HttpServletResponse response) {this.response = response;}@Overridepublic void onOpen() throws IOException {// 设置响应头response.setContentType("text/event-stream");response.setCharacterEncoding("UTF-8");response.setHeader("Cache-Control", "no-cache");response.setHeader("Connection", "keep-alive");}@Overridepublic void onEvent(String event, String id, String data) throws IOException {PrintWriter writer = response.getWriter();writer.write("event: " + event + "\n");writer.write("id: " + id + "\n");writer.write("data: " + data + "\n\n");writer.flush();}@Overridepublic void onError(Throwable t) {t.printStackTrace();}@Overridepublic void onComplete() {try {response.getWriter().close();} catch (IOException e) {e.printStackTrace();}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/193194.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SmartSoftHelp8,IIS Nginx,windows linux 高并发服务器优化配置工具

Windows IIS 性能优化配置 Windows Nginx 性能优化配置模板 Linux Nginx 性能优化配置模板 Nginx 常用命令 webconfig 优化配置详细说明 下载地址: https://pan.baidu.com/s/1zBgeYsqWnSlNgiKPR2lUYg?pwd8888

深入理解网络非阻塞 I/O:NIO

🔭 嗨,您好 👋 我是 vnjohn,在互联网企业担任 Java 开发,CSDN 优质创作者 📖 推荐专栏:Spring、MySQL、Nacos、Java,后续其他专栏会持续优化更新迭代 🌲文章所在专栏&…

java应用程序性能分析

一、Java程序性能优化 1. 程序的性能通过以下几个方面来表现: 1)执行速度:程序的反映是否迅速,响应时间是否足够短; 2)内存分配:内存分配是否合理,是否过多地消耗内存或者存在泄漏&…

监测tcp连接状态

using System; using System.Collections.Generic; using System.Linq; using System.Net.Sockets; using System.Text; using System.Threading; using System.Threading.Tasks;namespace 检测tcp连接状态 {public class TCPClient{private TcpClient client;private bool con…

npm上传发布自定义组件超详细流程

前言 vue3,vite,基于element Plus 的el-table二次封装表格并且上传到npm上,让别人可以通过npm安装你的插件。 一、创建一个新的vue 项目 npm create vuelatest 自己取一个名字,然后一直回车 完成以后进入项目npm i,有用到eleme…

02-获取连接数据库的Connection对象的方式

获取连接对象连接数据库的方式 JDBC编程六步 创建并注册驱动对象 : 告诉Java程序即将要连接的是哪个品牌的数据库(注意使用反射机制加载Driver类时会自动完成驱动的创建和注册)使用注册对象获取连接对象: 表示JVM的进程和数据库进程之间的通道打开了,这属于进程之…

API无代码开发让尘锋SCRM与营销系统集成,提高电商平台客服效率

API无代码开发的力量 随着电商平台业务的日益增长,客服系统的效率和响应速度成为了企业关注的焦点。API无代码开发的出现,为企业提供了一个高效的解决方案。API(Application Programming Interface,应用编程接口)允许不同的软件系统之间进行有…

C++ IO库

IO类 IO对象不能拷贝和赋值 iostream 表示形式的变化: 将100转换成二进制序列 然后格式化输出 x,y共用一块内存 输出的时候用不同的方式解析同一块内存 操作 格式化:内部表示转换为相应字节序列 缓存:要输出的内容放到缓存 编码转换&…

Linux 防火墙,了解就好

目录 安全技术 防火墙的分类 按保护范围划分 按实现方式划分 按网络协议划分 应用层防火墙(7层) 防火墙的工作原理 linux防火墙的基本认识 防火墙工具介绍 1.iptables 2.firewalld 3.nftables 安全技术 —— 入侵检测系统(Intru…

【Java基础系列】BigDecimal入门

一.基本介绍 1.什么是 BigDecimal? BigDecimal 是 Java 中的一个类,用于表示任意精度的十进制数。它属于 java.math 包,并提供了高精度的浮点数运算。与基本数据类型的浮点数(如 float 和 double)不同,BigDecimal 可…

Xilinx Zynq-7000系列FPGA多路视频处理:图像缩放+视频拼接显示,提供工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐FPGA图像处理方案FPGA图像缩放方案FPGA视频拼接叠加融合方案推荐 3、设计思路详解HLS 图像缩放介绍Video Mixer介绍 4、vivado工程介绍PL 端 FPGA 逻辑设计PS 端 SDK 软件设计 5、工程移植说明vivado版本不一致处理FPGA型号不一致处理其他…

【投稿优惠|稳定出版】2023年信息科学和大数据应用国际会议 (ICISBDA 2023)

2023年信息科学和大数据应用国际会议 (ICISBDA 2023) 2023 International Conference on Information Science and Big Data Applications (ICISBDA 2023) 一、会议简介 🎉🎉🎉🎉🎉&…

Tensorflow的日志log记录

if OUTPUT_GRAPH:tf.summary.FileWriter("logs/", sess.graph)自动创建文件夹log

分享一个大学生免费的资源网站(含考研资源,竞赛四六级)

今天不小心从其他地方链接到的网站,里面包含考考研资料,四六级相关的资料,重点都是免费的,部分资料可能需要登录或者关注公众号才可见,,网站链接了CSDN 能跳转到CSND, 网站地址 :忠哥资源共享http://jian…

Pandas时序数据分析实践—基础(1)

目录 1. Pandas基本结构2. Pandas数据类型2.1. 类型概述2.1.1. 整数类型(int):2.1.2. 浮点数类型(float):2.1.3. 布尔类型(bool):2.1.4. 字符串类型(object&a…

Android 源码编译

一,虚拟机安装 ​ 1.1 进入https://cn.ubuntu.com/download中文官网下载iso镜像 1.2 这里我们下载Ubuntu 18.04 LTS 1.3虚拟VM机安装ubuntu系统,注意编译源码需要至少16G运行内存和400G磁盘空间,尽量设大点 二 配置编译环境 2.1 下载andr…

C++ day50 动态规划

题目1:123 买卖股票的最佳时机Ⅲ 题目链接:买卖股票的最佳时机Ⅲ 对题目的理解 prices[i]表示股票在第i天的价格,最多可以完成两笔交易,不能同时进行多笔交易 可以买卖一次,两次,也可以不买卖 动态规划…

C++-类和对象

目录 一.C语言和C的区别 二.类的引入 三.类的定义 1.类的定义 2.类的成员方法的两种定义方式: 3.类的成员变量的定义 四.类的访问限定符及封装 1.访问限定符 五.面向对象的三大特征 1.面向对象的三大特征分别是什么 2.封装 六.类的作用域 七.创建类对象 1.类…

Leetcode.330 按要求补齐数组

题目链接 Leetcode.330 按要求补齐数组 hard 题目描述 给定一个已排序的正整数数组 n u m s nums nums ,和一个正整数 n n n 。从 [ 1 , n ] [1, n] [1,n] 区间内选取任意个数字补充到 n u m s nums nums 中,使得 [ 1 , n ] [1, n] [1,n] 区间内的…

CAN 一: CAN基础知识介绍

1、CAN介绍 1.1、什么是CAN? (1)CAN(Controller Area Network:控制器局域网),是ISO国际标准化的串行通信协议。为满足汽车产业的“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需求。 (2)CAN总线的发展历史&a…