如何使用 xml 配置使用 sockjs 配置 Spring 4 WebSocket
How to configure Spring 4 WebSocket with sockjs using xml configuration
您好,我当前的 websocket 配置是。
<websocket:message-broker application-destination-prefix="/app">
<websocket:stomp-endpoint path="/chat">
<websocket:sockjs></websocket:sockjs>
</websocket:stomp-endpoint>
<websocket:simple-broker prefix="/topic"/>
</websocket:message-broker>
我的 url 模式配置是
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
如果我将模式更改为“/”,则它可以正常工作
报错
GET http://localhost:8080/demoapp/chat/info 404 (Not Found)
有什么不对请指教
谢谢
当使用 *.html
模式时,您只将这些请求映射到 DispatcherServlet - 所有其他请求(在本例中,所有 SockJS/websocket/etc 请求)都将被忽略并且 HTTP 404 错误是由 servlet 容器返回。
所以是的,您应该使用 "/"
作为映射模式,否则它将无法工作。
开始编写 websocket 应用程序可能很难 - 有很多新概念和需要注意的事情。但是编程模型其实很接近Spring MVC。
以下几点可以帮助您:
- the reference documentation 中的一些 "light reading"(模式非常有用)
- 尝试 official getting started guide on websocket
- 看看设计良好的示例应用程序,例如 portfolio app or a chat room app
怎么样
添加此代码
<async-supported>true</async-supported>
在 web.xml 文件上
<servlet>
<servlet-name>DispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
</servlet>
我是这样使用代码的
它工作并且不显示路径错误
您好,我当前的 websocket 配置是。
<websocket:message-broker application-destination-prefix="/app">
<websocket:stomp-endpoint path="/chat">
<websocket:sockjs></websocket:sockjs>
</websocket:stomp-endpoint>
<websocket:simple-broker prefix="/topic"/>
</websocket:message-broker>
我的 url 模式配置是
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
如果我将模式更改为“/”,则它可以正常工作 报错
GET http://localhost:8080/demoapp/chat/info 404 (Not Found)
有什么不对请指教
谢谢
当使用 *.html
模式时,您只将这些请求映射到 DispatcherServlet - 所有其他请求(在本例中,所有 SockJS/websocket/etc 请求)都将被忽略并且 HTTP 404 错误是由 servlet 容器返回。
所以是的,您应该使用 "/"
作为映射模式,否则它将无法工作。
开始编写 websocket 应用程序可能很难 - 有很多新概念和需要注意的事情。但是编程模型其实很接近Spring MVC。
以下几点可以帮助您:
- the reference documentation 中的一些 "light reading"(模式非常有用)
- 尝试 official getting started guide on websocket
- 看看设计良好的示例应用程序,例如 portfolio app or a chat room app
怎么样
添加此代码
<async-supported>true</async-supported>
在 web.xml 文件上
<servlet>
<servlet-name>DispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
</servlet>
我是这样使用代码的
它工作并且不显示路径错误