Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jetty-users] Equivalent of HandlerList for Servlets

Hi,

I have the practical need of splitting up a protocol implementation in 3 “parts”, because the protocol does a kind of “staged” setup whereby a connection goes through these steps in order. I also need the benefits of Contexts to maintain some state. Ideally, I would like to have the equivalent of a HandlerList but for Servlets being added to a ServletContextHandler. How could this be achieved?

Wrt to this question, I am confused about the ServletHolder.setServletHandler(). What is its purpose? Does it replace the handle() methods of the Servlet.class that is fed to the ServletHolder? Obviously, I tried to use setServletHandler() with a HandlerList, but that does not work. It is a bit lacking in the documentation and examples of how to used embedded Jetty. 

My first attempt was something along the lines of

        HandlerList setupHandlers = new HandlerList();
        setupHandlers.addHandler(new StageOneHandler());
        setupHandlers.addHandler(new StageTwoHandler());
        setupHandlers.addHandler(new StageThreeHandler());

        ServletHandler setupHandler = new ServletHandler();
        setupHandler.setHandler(setupHandlers);

        ServletHolder setupHolder = new ServletHolder(DefaultServlet.class);
        pairSetupHolder.setServletHandler(setupHandler);

But I clearly missed something from an architecture point of view

The (IMO) ugly workaround is to put the 3 stages in a regular Servlet, and do an if-then based on some bytes of the protocol payload, but I prefer the more beautiful solution ;-) Any help is welcome

Thanks
Karel

Back to the top