2011-01-26 3 views
1

J'essaie d'utiliser Jetty de la manière la plus simple possible. J'ai commencé en exécutant la procédure pas à pas de la documentation jetée @ Eclipse, qui ressemble fondamentalement que:Embedded Jetty traite chaque message deux fois

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

Le problème est que le gestionnaire est appelé deux fois sur chaque demande. J'utilise Chrome avec http: // localhost: 8080 pour simuler, si cela fait une différence. Jetty est intégré comme deux pots:

  • jetée-all-7.0.2.v20100331.jar
  • servlet-api-2.5.jar

Qu'est-ce que je fais mal/manque ici?

Répondre

3

Il s'avère que Chrome était "à blâmer". Je n'obtenais pas la même requête HTTP, j'obtenais la requête HTTP originale en plus d'une demande de /favicon.ico. Tout semble OK en ce qui concerne Jetty.

Questions connexes