有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java无法在Jetty中执行特定的servlet

我的代码如下所示-

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) 个答案

  1. # 1 楼答案

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

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

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