我的代码看起来像这样 -
ServletContextHandler root = new ServletContextHandler(handlers, "/", ServletContextHandler.NO_SESSIONS);
root.addServlet(rootServlet, "/*");
ServletContextHandler test = new ServletContextHandler(handlers, "/test", ServletContextHandler.NO_SESSIONS);
test.addServlet(testServlet, "/test");
我希望当我转到/test
时,testServlet
会被执行,但我只会看到rootServlet
被执行。为什么会这样?
我正在使用Jetty 9并将我的处理程序设置为 -
HandlerCollection handlers = new HandlerCollection();
然后将其设置到服务器 -
server.setHandler(handlers);
答案 0 :(得分:0)
您是否尝试从此行中删除星号:
root.addServlet(rootServlet, "/*");
您的/test
网址格式与rootServlet
的模式相匹配。因此,所有以斜杠(/test
开头)开头的请求都可能由rootServlet
处理。
如果没有帮助尝试更改rootServlet
的其他内容的网址格式。