2017-07-17 75 views
0

我使用tomcat 7.0.77,spring,现在sockjs无法打开信息。 的web.xmlsockjs信息404错误

 <servlet> 
       <servlet-name>mvc-dispatcher</servlet-name> 
       <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
       <load-on-startup>1</load-on-startup> 
       <async-supported>true</async-supported> 
     </servlet> 

     <servlet-mapping> 
       <servlet-name>mvc-dispatcher</servlet-name> 
       <url-pattern>/cmd/*</url-pattern> 
       <url-pattern>/webSocketServer</url-pattern> 
       <url-pattern>/sockjs/webSocketServer/*</url-pattern> 
       <url-pattern>/sockjs/webSocketServer/info</url-pattern> 
       <url-pattern>/webSocketServerLogout</url-pattern> 
       <url-pattern>/webSocketServerSpAlarm</url-pattern> 

的java

public class WebSocketConfig extends WebMvcConfigurerAdapter implements WebSocketConfigurer { 
    @Override 
    public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) { 
//  registry.addHandler(systemWebSocketHandler(),"/webSocketServer").addInterceptors(new WebSocketHandshakeInterceptor()); 

     registry.addHandler(systemWebSocketHandler(), "/sockjsWebSocketServer").addInterceptors(new WebSocketHandshakeInterceptor()) 
.withSockJS(); 

catalina.out中 INFO:映射的URL路径[/ sockjs/webSocketServer/**]到类型的处理程序[类org.springframework.web.socket .sockjs.support.SockJsHttpRequestHandler] 2017年7月17日下午1点01分46秒org.springframework.web.servlet.handler.SimpleUrlHandlerMapping registerHandler

HTML

websocket = new SockJS("http://"+local+"/sockjs/webSocketServer"); 

首先不能打开/ sockjs/webSocketServer /信息当我添加/ sockjs/webSocketServer /信息到像上面的web.xml, http://172.24.170.178/sockjs/webSocketServer/093/vl3vnd0p/websocket 404错误

感谢报告

+0

catalina.out报告2017年7月17日上午5点14分28秒org.springframework.web.servlet.PageNotFound noHandlerFound 警告:在名为'mvc'的DispatcherServlet中未找到具有URI [/ sockjsWebSocketServer/info]的HTTP请求的映射-dispatcher” – johnie

回答

0

附加Servlet映射/ sockjs/*到web.xml 并将html更改为 websocket = new SockJS(“http://”+ local +“/ sockjs/sockjsWebSocketServer”);

现在好了。 因为对于sockjs,在webConfig中java映射url不能直接把它放到web.xml中。 需要添加一个前缀sockjs(示例)。