Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么sockJS添加了一个'/信息';指向给定的websocket url路径_Websocket_Spring Websocket_Sockjs_Java Websocket - Fatal编程技术网

为什么sockJS添加了一个'/信息';指向给定的websocket url路径

为什么sockJS添加了一个'/信息';指向给定的websocket url路径,websocket,spring-websocket,sockjs,java-websocket,Websocket,Spring Websocket,Sockjs,Java Websocket,我想打开一个带有“webapp/socket.do”路径的websocket端口。当我使用SockJS并尝试通过代码启动调用时 var socket = new SockJS('/webapp/socket.do'); stompClient = Stomp.over(socket); stompClient.connect({}, ... 默认情况下,SockJS将在给定路径的末尾添加一个“/info”。我想知道为什么?这是可以改变还是可以防止的 在Spring M

我想打开一个带有“webapp/socket.do”路径的websocket端口。当我使用SockJS并尝试通过代码启动调用时

    var socket = new SockJS('/webapp/socket.do');
    stompClient = Stomp.over(socket);

    stompClient.connect({}, ...
默认情况下,SockJS将在给定路径的末尾添加一个“/info”。我想知道为什么?这是可以改变还是可以防止的

在Spring MVC中使用此选项并将url模式映射到DispatcherServlet(如
*.do
)时,将返回404错误。由于sockJS向给定url添加了“/info”字符串,因此被阻止

Spring web.xml servlet映射代码:

<servlet-mapping>
    <servlet-name>dispatch-servlet</servlet-name>
    <url-pattern>*.do</url-pattern>
</servlet-mapping>

调度servlet
*.做

有人知道sockJS在那里尝试什么以及为什么吗?

这是sockJS协议的一部分,是强制性的。 该端点由服务器实现,并与服务器功能(如受支持的协议)进行通信。看

在这种情况下,我想您不仅需要为这个端点调整servlet映射,还需要为可能出现的其他请求调整servlet映射:websocket的HTTP升级请求,以及所有其他请求