java Jetty中的这种配置有什么问题?无法运行任何上下文
这是我的密码-
Server server = new Server();
ServerConnector pxy = new ServerConnector(server);
pxy.setPort(8080);
server.addConnector(pxy);
HandlerCollection handlers = new HandlerCollection();
ServletContextHandler test1 = new ServletContextHandler(handlers, "/test1", ServletContextHandler.NO_SESSIONS);
ServletContextHandler test2 = new ServletContextHandler(handlers, "/test2", ServletContextHandler.NO_SESSIONS);
ServletHolder rootServletHolder = new ServletHolder(root.class);
test1.addServlet(rootServletHolder, "/test1/*");
ServletHolder testServletHolder = new ServletHolder(test.class);
test2.addServlet(testServletHolder, "/test2/*");
server.setHandler(handlers);
server.start();
server.join();
当我转到http://domainName.com:8080/test1或http://domainName.com:8080/test2时,会收到未找到的错误消息
码头启动看起来像这样-
2013-06-07 18:58:59.871:INFO:oejs.Server:main: jetty-9.0.3.v20130506 2013-06-07 18:58:59.895:INFO:oejsh.ContextHandler:main: Started o.e.j.s.ServletContextHandler@7c87c24a{/test1,null,AVAILABLE} 2013-06-07 18:58:59.896:INFO:oejsh.ContextHandler:main: Started o.e.j.s.ServletContextHandler@34e4c825{/test2,null,AVAILABLE} 2013-06-07 18:58:59.919:INFO:oejs.ServerConnector:main: Started ServerConnector@3932f2b2{HTTP/1.1}{0.0.0.0:8080}
# 1 楼答案
您的配置有一个
"/test1"
的上下文,在"/test1/*"
的上下文下有一个servlet这意味着您的URL将是http://domainName.com:8080/test1/test1/
这样想就会有意义
我想你想要的是一个单一的ServletContextHandler,比如说
"/"
,并在其中添加两个Servlet例如:
另外,看看嵌入式jetty示例。这个ManyServletContext.java似乎最相关