业务需求 后台为一个采集系统,需要将采集过程中产生的日志实时发送到前台页面展示,以便了解采集过程. 技能点 SpringBoot 2.x websocket logback thymeleaf RabbitMQ 之所以使用到RabbitMQ是因为实际环境中采集服务为多个,为了统一处理日志信息,将日志都先灌入mq中,再统一从mq中进行消费 引入关键pom <dependency> <groupId>org.springframework.boot</groupId> &l…
工作中有这样一个需示,我们把项目中用到代码缓存到前端浏览器IndexedDB里面,当系统管理员在后台对代码进行变动操作时我们要更新前端缓存中的代码怎么做开始用想用版本方式来处理,但这样的话每次使用代码之前都需要调用获取版本API来判断版本是否有变化来是否更新本地代码,这样的话对服务器造成很大的压力.后来考虑http慢轮讯方式,最后了解到WebSocket这简直是神器,以后还可用来扩展项目中的即时聊天功能. WebSocket是什么 我们知道HTTP协议都是先由浏览器向服务器发送请求,服务器响应这…
WebSocket跟常规的http协议的区别和优缺点这里大概描述一下 一.websocket与http http协议是用在应用层的协议,他是基于tcp协议的,http协议建立链接也必须要有三次握手才能发送信息.http链接分为短链接,长链接,短链接是每次请求都要三次握手才能发送自己的信息.即每一个request对应一个response.长链接是在一定的期限内保持链接.保持TCP连接不断开.客户端与服务器通信,必须要有客户端发起然后服务器返回结果.客户端是主动的,服务器是被动的. WebSocke…
一:简述 在日常中的工作中难免会遇到程序集成邮件发送功能.接收功能:此篇文章我将使用SpringBoot集成邮件发送功能和接收功能:若对邮件一些基本协议和发送流程不懂的请务必参考我之前写的博客或者浏览网上资料. [邮件基本概念及发送方式]   [JavaMail发送邮件(超详细)] 二:SpringBoot发送邮件的基本说明 在我们现在使用的SpringBoot的版本中,底层发送邮件的技术都是使用一个叫 Jakarta Mail 的,它可有实现SMTP.POP.IMAP等基本的邮件发送和接收协议…
作为一个程序设计人员,我们深知日志的重要性,对于日志的监控,我们通常不外乎采用以下两种方式:日志文件方式和后台打印方式,常规情况下,这两种日志监控方式完全可以满足我们对日志监控的需要.但是,当我们用Swing进行前台开发时,常常想能不能把后台服务运行日志实时地显示在前台窗口中,或者只是将某类我们比较关心的日志信息(譬如异常日志等)实时动态地显示在前台窗口中,这样方便我们及时监控和处理.这个设想我们称之为“后台日志信息前台监控器”. 设计这样一个“后台日志信息前台监控器”,有两个难点,第一个是,当…
遇到一个上传文件的问题,老大说使用http太慢了,因为http包含大量的请求头,刚好项目本身又集成了websocket,想着就用websocket来做文件上传. 相关技术 springboot websocket jdk1.8 创建springboot项目并集成websocket 先是创建一个spring boot项目 我们勾选了三个依赖 分别是 Lombok,web,websocket 这是当前完整的依赖 <?xml version="1.0" encoding="U…
代码全部复制,仅供自己学习用 1.环境搭建 因为在上一篇基于STOMP协议实现的WebSocket里已经有大概介绍过Web的基本情况了,所以在这篇就不多说了,我们直接进入正题吧,在SpringBoot中,我们还是需要导入WebSocket的包. 在pox.xml加上对springBoot对WebSocket的支持: <!-- webSocket --> <dependency> <groupId>org.springframework.boot</groupId&…
万事开头难,昨天一直在构思用户权限管理系统怎么实现,实现哪些需求,采用什么技术等,也在网上百度了好多,计划使用SpringBoot + Mybatis + thymeleaf  + LayUI + Shiro等相关技术来实现,昨天新建了一个SpringBoot的项目,想着先使用LayUI实现左侧导航栏右侧上面Tab选项下面显示内容的系统首页,由于之前也没用过LayUI框架,昨天搞到2点多也没搞出来,今天偶然间找到了layTabPlus插件,该插件是一个layUI后台Tab布局框架的扩展插件,实现…
第一种:SpringBoot官网提供了一种websocket的集成方式 第二种:javax.websocket中提供了元注解的方式 下面讲解简单的第二种 添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <!--<exclusions> <exclusi…
一.什么都不用说,导入个依赖先 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId> </dependency> 二.推送到前端的消息实体类 import lombok.AllArgsConstructor; import lombok.Builder; import…