我需要一个带有多个servletHandler的jetty服务器。
的HttpServlet:
ServletHandler servletHandler = new ServletHandler();
server.setHandler(servletHandler);
servletHandler.addServletWithMapping("com.realtime.webserver.StreamGlobalServlet", "/SGServlet");
WebsocketServlet:
MyWebSocketHandler myWebSocketHandler = new MyWebSocketHandler ();
myWebSocketHandler.setHandler(new DefaultHandler());
server.setHandler(myWebSocketHandler);
server.start();
我需要两者都应该在单一服务器中。 有可能吗?
答案 0 :(得分:24)
你可以使用org.eclipse.jetty.server.handler.HandlerCollection(Jetty 9)
HandlerCollection handlerCollection = new HandlerCollection();
handlerCollection.setHandlers(new Handler[] {servletHandler, myWebSocketHandler});
稍后将处理程序添加到集合中:
handlerCollection.addHandler(newHandler);
最后,
server.setHandler(handlerCollection);
server.start();
答案 1 :(得分:3)
这是在同一台服务器上同时使用多个处理程序的示例。
最终会将其添加到此处的文档中:
http://www.eclipse.org/jetty/documentation/current/embedded-examples.html
在此之前还有很多其他的例子可以帮助我们更清楚。