无法在Jetty中执行特定的servlet

时间:2013-06-08 01:20:02

标签: java servlets path jetty servlet-3.0

我的代码看起来像这样 -

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);

1 个答案:

答案 0 :(得分:0)

您是否尝试从此行中删除星号:

root.addServlet(rootServlet, "/*");

您的/test网址格式与rootServlet的模式相匹配。因此,所有以斜杠(/test开头)开头的请求都可能由rootServlet处理。 如果没有帮助尝试更改rootServlet的其他内容的网址格式。