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

問題は、ハンドラーがリクエストごとに2回呼び出されることです。何か違いがあれば、シミュレーションにChromeとhttp:// localhost:8080を使用しています。Jettyは2つのjarとして埋め込まれています。

  • jetty-all-7.0.2.v20100331.jar
  • サーブレット-api-2.5.jar

私はここで何が間違っている/欠けているのですか?

4

1 に答える 1

4

Chromeは「責任がある」ことが判明しました。同じHTTPリクエストを取得していませんでした。のリクエストに加えて、元のHTTPリクエストを取得していました/favicon.ico。Jettyに関する限り、すべて問題ないように見えます。

于 2011-01-26T10:53:25.877 に答える