这是我的代码 -
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时,我找不到错误消息。
Jetty初创公司看起来像这样 -
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:已启动o.e.j.s.ServletContextHandler@7c87c24a {/ test1,null,AVAILABLE} 2013-06-07 18:58:59.896:INFO:oejsh.ContextHandler:main:已启动o.e.j.s.ServletContextHandler@34e4c825 {/ test2,null,AVAILABLE} 2013-06-07 18:58:59.919:INFO:oejs.ServerConnector:main:已启动ServerConnector @ 3932f2b2 {HTTP / 1.1} {0.0.0.0:8080}
答案 0 :(得分:1)
您的配置的上下文为"/test1"
,servlet的下限为"/test1/*"
这意味着您的网址为http://domainName.com:8080/test1/test1/
只要这样思考它就会有意义。
我认为你想要的是"/"
上的单个ServletContextHandler,并添加了2个servlet。
示例:
Server server = new Server();
ServerConnector pxy = new ServerConnector(server);
pxy.setPort(8080);
server.addConnector(pxy);
// Use ContextHandlerCollection
ContextHandlerCollection contexts = new ContextHandlerCollection();
// Don't forget to add it to the server!
server.setHandler(contexts);
ServletContextHandler testApp = new ServletContextHandler(contexts, "/",
ServletContextHandler.NO_SESSIONS);
ServletHolder rootServletHolder = new ServletHolder(root.class);
ServletHolder testServletHolder = new ServletHolder(test.class);
testApp.addServlet(rootServletHolder, "/test1/*");
testApp.addServlet(testServletHolder, "/test2/*");
server.setHandler(handlers);
server.start();
server.join();
另外,看看嵌入式jetty示例。 ManyServletContext.java似乎最相关。