2

我正在尝试以最简单的方式使用 Jetty。我从运行 Jetty@Eclipse 文档中的演练开始,它基本上看起来像这样:

public class Main {

    public class HelloHandler extends AbstractHandler
    {
        public void handle(String target,Request baseRequest,HttpServletRequest     request,HttpServletResponse response)
            throws IOException, ServletException
        {
            response.setContentType("text/html;charset=utf-8");
            response.setStatus(HttpServletResponse.SC_OK);
            baseRequest.setHandled(true);
            response.getWriter().println("<h1>Hello World</h1>");
        }
    }

    private void run() throws Exception
    {
        Server server = new Server(8080);
        server.setHandler(new HelloHandler());
        server.start();
        server.join();
    }

    public static void main(String[] args) throws Exception
    {
        Main m = new Main();
        m.run();
    }
}

问题是处理程序在每个请求上都会被调用两次。我正在使用带有http://localhost:8080的 Chrome来模拟,如果这有什么不同的话。Jetty 嵌入为两个罐子:

  • jetty-all-7.0.2.v20100331.jar
  • servlet-api-2.5.jar

我在这里做错了什么/错过了什么?

4

1 回答 1

4

原来 Chrome 是“罪魁祸首”。我没有收到相同的 HTTP 请求,除了/favicon.ico. 就 Jetty 而言,一切看起来都还不错。

于 2011-01-26T10:53:25.877 回答