我嘗試使用jetty web套接字並且遇到一些麻煩,可能是您知道如何解決它們。Jetty WebSocketServlet NPE
有SocketServlet(來自實施例):
public class SocketServlet extends WebSocketServlet {
@Override
public void configure(WebSocketServletFactory factory) {
factory.register(MyEchoSocket.class);
}
}
而且EchoSocket
@WebSocket
public class MyEchoSocket {
@OnWebSocketConnect
public void onConnect(Session session){
System.out.println("Connect");
}
}
web.xml中(部分)
<servlet>
<servlet-name>SocketServlet</servlet-name>
<servlet-class>ru.servlets.SocketServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SocketServlet</servlet-name>
<url-pattern>/hello/*</url-pattern>
</servlet-mapping>
當我構建和行家運行它我有NPE:
2013-07-18 23:20:29.488:WARN:oejs.ServletHandler:/ hello java.lang.NullPointerException at org.eclipse.jetty.websocket.server.WebSocketServerFactory.upgrade(WebSocketServerFactory.java:415) at org.eclipse.jetty.websocket.server.WebSocketServerFactory.acceptWebSocket(WebSocketServerFactory.java:178) at org.eclipse.jetty.websocket.servlet.WebSocketServlet.service(WebSocketServlet.java:160) at javax.servlet.http。 (org.eclipse.jetty.ServletHandler.doHandle(ServletHandler.java:457) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) at org.ec在org.eclipse.jetty.server.handler上的org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) 上使用lipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557) 。 (org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java: 193) 在org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009) 在org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) 在有機eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255) at org.eclipse.jetty.server.handler.HandlerCollection.handle(Hand (org.eclipse.jetty.server.handle(Server.java:368) at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489) at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:942) at org.eclipse.jetty.server.AbstractHttpConnection $在org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)上的org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640) 中的RequestHandler.headerComplete(AbstractHttpConnection.java:1004) at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:628) at org.eclipse.jetty.io.nio.SelectChannelEndPoint $ 1.run(SelectChannelEndPoint.java:52) at org.eclipse。 jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) at org.eclipse.jetty.util.thread.QueuedThreadPool $ 3.run(QueuedThreadPool.java:543) at java.lang.Thread.run(Thread .java:724)
我使用 jetty版本9.0.4.v20130625 jettyPlugin.version 8.1.10。v20130312 java 1.7.25
感謝您的回答!