只有一个handler
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context .setContextPath("/");
//servlet之间是并行处理
context .addServlet(servlet1, "/*");
context.addServlet(sevlet2,"/h");
//filter 之间是递归处理
context.addFilter(fileter1.class, "/*", EnumSet.of(DispatcherType.REQUEST));
context.addFilter(fileter2.class, "/*", EnumSet.of(DispatcherType.REQUEST));
server.setHandler(context);
顺序执行 一组 handler
HandlerCollection会按照顺序分别执行每个handler,并把结果拼凑到response,返回。
HandlerCollection hc =new HandlerCollection();
hc.setHandlers(new Handler[]{handler1,handler2}); //如果有多个handle 在这里添加
server.setHandler(hc);
一组 handler ,只有 异常后 才可以继续执行
HandlerList顺序执行handler,如果抛出错误才执行下一个handler,否则不执行。
HandlerList handlers = new HandlerList();
handlers.setHandlers(new Handler[] { handler1,handler2... });