【发布时间】:2016-05-05 06:28:30
【问题描述】:
我想用“webapp/socket.do”路径打开一个 websocket 端口。当我使用 SockJS 并尝试通过代码发起调用时
var socket = new SockJS('/webapp/socket.do');
stompClient = Stomp.over(socket);
stompClient.connect({}, ...
默认情况下,SockJS 会在给定路径的末尾添加一个“/info”。我想知道为什么?这可以改变或防止吗?
当将它与 Spring MVC 一起使用并且具有到 DispatcherServlet 的 url 模式映射(如 < url-pattern >*.do</url-pattern>)时,这将返回 404 错误。由于 sockJS 将“/info”字符串添加到给定的 url,它被阻止了。
Spring web.xml servlet 映射代码:
<servlet-mapping>
<servlet-name>dispatch-servlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
有谁知道 sockJS 在那里尝试什么以及为什么?
【问题讨论】:
标签: websocket spring-websocket sockjs java-websocket