2011-01-26 57 views
1

我試圖以最簡單的方式使用Jetty。我已經運行從碼頭@ Eclipse文檔,基本上看起來像這樣的演練開始:Embedded Jetty處理每條消息兩次

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是嵌入兩個罐子:

  • 碼頭,全7.0.2.v20100331.jar
  • servlet的API-2.5.jar

我在做什麼錯誤/丟失在這裏嗎?

回答

3

原來鉻是「責怪」。我沒有收到相同的HTTP請求,除了請求/favicon.ico之外,我還得到了原始的HTTP請求。就Jetty而言,所有看起來都不錯。