是否可以与 Spring MVC 一起创建 WebSocket 应用程序

Posted

技术标签:

【中文标题】是否可以与 Spring MVC 一起创建 WebSocket 应用程序【英文标题】:Is it possible to create WebSocket application along with Spring MVC 【发布时间】:2017-02-23 18:15:27 【问题描述】:

我对 Spring 框架不太了解,所以我在这里问。是否可以/可以在更大的 Spring MVC 应用程序中创建基于 Spring 的 WebSocket 应用程序?

我看到的所有示例都只创建了 WebSocket 部分,但没有创建 MVC。 那么有可能做到这一点吗?如果是的话,有人可以指出一些很好的例子。

谢谢

【问题讨论】:

【参考方案1】:

是的,Spring 支持 websocket,您可以使用 Spring 构建 websocket 应用程序。 Spring 支持 STOMP over websocket,你可以配置如下:

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer 

     @Override
     public void configureMessageBroker(MessageBrokerRegistry config) 
      config.enableSimpleBroker("/topic/", "/queue/");
      config.setApplicationDestinationPrefixes("/app");
     

     @Override
     public void registerStompEndpoints(StompEndpointRegistry registry) 
      registry.addEndpoint("/greeting");;
       

以上配置将定义消息代理 STOMP 端点和 websocket 应用程序端点。 完成后,您可以从浏览器连接到 websocket。它需要加载 stomp.js。

var socket = new WebSocket('ws://localhost:8080/greeting');

您的控制器级别还需要其他配置,如此处所示 - Spring Websocket Example

【讨论】:

谢谢 Dhiraj,我已经知道了。我想问的是,这个 websocket 应用程序是否可以创建为更大的 spring MVC 应用程序的一部分,并且它们都可以部署在同一台服务器上。 是的,我认为这是可能的,但这完全取决于您如何设计应用程序的架构。您应该考虑查看here

以上是关于是否可以与 Spring MVC 一起创建 WebSocket 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB 地理定位与 Spring MVC 一起使用

如何将 Comet 与 Spring MVC 一起使用?

将 Spring Boot Web 应用程序与 Pivotal TC Server 一起使用

将 Spring MVC 与 JSP 页面一起使用时出现错误 500

用Spring MVC创建Web应用范例,轻松入门

通过与客户端 (MVC) 一起使用 Web API 中的操作来验证电子邮件是不是存在于数据库中并进行远程验证?