【发布时间】:2014-11-05 09:49:31
【问题描述】:
在应用程序中嵌入了带有以下代码的码头,但无法请求成功。 它一直在等待。
public static class TestHandler extends ContextHandler {
public TestHandler(String contextPath) {
super(contextPath);
}
@Override
public void doHandle(String target, Request baseRequest, HttpServletRequest request,
HttpServletResponse response) throws IOException, ServletException {
super.doHandle(target, baseRequest, request, response);
System.out.println("");
}
}
public static void main(String[] args) throws Exception {
Server server = new Server(new QueuedThreadPool(5, 4));
ServerConnector connector = new ServerConnector(server);
connector.setPort(9001);
server.setConnectors(new Connector[] { connector });
HandlerCollection handler = new HandlerCollection();
ContextHandlerCollection contexts = new ContextHandlerCollection();
contexts.setHandlers(new Handler[] { new TestHandler("/test") });
handler.setHandlers(new Handler[] { contexts, new DefaultHandler() });
server.setHandler(handler);
server.start();
server.dumpStdErr();
server.join();
}
但是将服务器构造函数更改为另一个,就可以了,有人可以解释原因吗? 我查了代码,找不到原因。谢谢!!
public static void main(String[] args) throws Exception {
Server server = new Server(9001);
// Server server = new Server(new QueuedThreadPool(5, 4));
// ServerConnector connector = new ServerConnector(server);
// connector.setPort(9001);
// server.setConnectors(new Connector[] { connector });
HandlerCollection handler = new HandlerCollection();
ContextHandlerCollection contexts = new ContextHandlerCollection();
contexts.setHandlers(new Handler[] { new TestHandler("/test") });
handler.setHandlers(new Handler[] { contexts, new DefaultHandler() });
server.setHandler(handler);
server.start();
server.dumpStdErr();
server.join();
}
ps:使用 jetty-server 9.1.0.M0 版本
【问题讨论】: