登录
首页 >  文章 >  java教程

Java本地WebSocket配置教程

时间:2026-01-04 09:12:48 438浏览 收藏

小伙伴们有没有觉得学习文章很有意思?有意思就对了!今天就给大家带来《Java配置本地WebSocket环境指南》,以下内容将会涉及到,若是在学习中对其中部分知识点有疑问,或许看了本文就能帮到你!

Java配置本地WebSocket环境首选Spring Boot:添加spring-boot-starter-websocket依赖,编写@Configuration类注册Handler,继承TextWebSocketHandler处理消息;纯Servlet方式需容器支持JSR-356,用@ServerEndpoint注解定义端点。

在Java中如何配置本地WebSocket运行环境_WebSocket环境搭建说明

Java中配置本地WebSocket运行环境,核心是引入支持WebSocket的Web容器(如Tomcat)和对应依赖,编写服务端Endpoint,并启动应用。不需要额外安装独立WebSocket服务器,用Spring Boot最简单。

使用Spring Boot快速启用WebSocket

这是目前最主流、最轻量的方式。只需添加依赖、配置类和处理类,内置Tomcat自动支持WebSocket协议。

  • pom.xml中加入Spring Boot WebSocket起步依赖:


  org.springframework.boot
  spring-boot-starter-websocket

  • 添加配置类,注册WebSocket处理器(如WebSocketConfig.java):

@Configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {
  @Override
  public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
    registry.addHandler(new MyWebSocketHandler(), "/ws").setAllowedOrigins("*");
  }
}

  • 编写MyWebSocketHandler继承TextWebSocketHandler,重写afterConnectionEstablishedhandleTextMessage等方法处理连接与消息。
  • 启动Spring Boot应用后,WebSocket端点ws://localhost:8080/ws即可被前端通过new WebSocket("ws://localhost:8080/ws")连接。

纯Servlet方式(无Spring)

适合学习原理或集成到传统Servlet项目。需确保容器(如Tomcat 7.0.47+ 或 Jetty 9.1+)支持JSR-356标准。

  • 添加WebSocket API依赖(Tomcat已内置,若用其他容器或测试可显式引入):


  javax.websocket
  javax.websocket-api
  1.1
  provided

  • 编写带@ServerEndpoint注解的类(如MyEndpoint.java),放在能被容器扫描的包下:

@ServerEndpoint("/echo")
public class MyEndpoint {
  @OnOpen
  public void onOpen(Session session) { ... }
  @OnMessage
  public void onMessage(String message, Session session) { ... }
}

  • 确保web.xml中没有禁用注解扫描,或使用Servlet 3.0+的@WebServlet等配套配置;部署到支持WebSocket的容器即可访问ws://localhost:8080/your-app/echo

验证与调试建议

本地跑通后,推荐用简单方式验证连通性,避免陷入前端兼容问题。

  • 用浏览器控制台直接测试:const ws = new WebSocket("ws://localhost:8080/ws"); ws.onmessage = e => console.log(e.data);
  • wscat命令行工具(Node.js环境):执行npx wscat -c ws://localhost:8080/ws,发送消息看服务端响应。
  • 检查控制台是否报ERR_CONNECTION_REFUSED(端口错/服务未启)、ERR_CONNECTION_CLOSED(服务端异常断开)、或404(路径不匹配/没扫到Endpoint)。
  • 确保WebSocket路径与注册路径完全一致(注意前导斜杠、大小写);跨域请求时,setAllowedOrigins("*")仅用于开发,生产请明确指定源。

基本上就这些。Spring Boot方式开箱即用,Servlet方式更贴近规范本质。选哪种取决于你当前项目技术栈,不需要装额外服务,也不需要改系统设置。

今天带大家了解了的相关知识,希望对你有所帮助;关于文章的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

前往漫画官网入口并下载 ➜
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>