我目前的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>
我的网址格式配置为
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
如果我将模式更改为'/',那么它可以正常工作 给出错误
GET http://localhost:8080/demoapp/chat/info 404 (Not Found)
有什么问题请建议。
感谢
答案 0 :(得分:0)
使用*.html
模式时,您只将这些请求映射到DispatcherServlet - 所有其他请求(在这种情况下,所有SockJS / websocket / etc请求)都被忽略,并且HTTP 404错误是由servlet容器返回。
所以是的,您应该使用"/"
作为映射模式,否则它将无法正常工作。
开始编写websocket应用程序可能很困难 - 需要注意许多新概念和新事物。但编程模型实际上非常接近Spring MVC。
以下是一些可以帮助您的建议:
答案 1 :(得分:0)
怎么样
添加此代码
<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>
我用这样的代码
它可以正常工作,并且不显示路径错误