1

i use tomcat 7.0.77, spring, now sockjs can not open info. web.xml

       <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: Mapped URL path [/sockjs/webSocketServer/**] onto handler of type [class org.springframework.web.socket.sockjs.support.SockJsHttpRequestHandler] Jul 17, 2017 1:01:46 PM org.springframework.web.servlet.handler.SimpleUrlHandlerMapping registerHandler

html

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

firstly can not open /sockjs/webSocketServer/info when i add /sockjs/webSocketServer/info into web.xml like above, report http://172.24.170.178/sockjs/webSocketServer/093/vl3vnd0p/websocket 404 error

thanks

johnie
  • 11
  • 2
  • catalina.out report Jul 17, 2017 5:14:28 AM org.springframework.web.servlet.PageNotFound noHandlerFound WARNING: No mapping found for HTTP request with URI [/sockjsWebSocketServer/info] in DispatcherServlet with name 'mvc-dispatcher' – johnie Jul 17 '17 at 08:13

1 Answers1

0

add servlet-mapping /sockjs/* to web.xml and change html to websocket = new SockJS("http://"+local+"/sockjs/sockjsWebSocketServer");

ok now. because for sockjs, in webConfig java map url can not directly put it to web.xml. need add a prefix sockjs(example).

johnie
  • 11
  • 2