123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- package hello;
- import java.io.IOException;
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.eclipse.jetty.server.Handler;
- import org.eclipse.jetty.server.HttpConfiguration;
- import org.eclipse.jetty.server.HttpConnectionFactory;
- import org.eclipse.jetty.server.Request;
- import org.eclipse.jetty.server.Server;
- import org.eclipse.jetty.server.ServerConnector;
- import org.eclipse.jetty.server.handler.AbstractHandler;
- import org.eclipse.jetty.server.handler.AbstractHandlerContainer;
- /**
- * An implementation of the TechEmpower benchmark tests using the Jetty web
- * server.
- */
- public final class HelloWebServer
- {
- public static void main(String[] args) throws Exception
- {
- Server server = new Server(8080);
- ServerConnector connector = server.getBean(ServerConnector.class);
- HttpConfiguration config = connector.getBean(HttpConnectionFactory.class).getHttpConfiguration();
- config.setSendDateHeader(true);
- config.setSendServerVersion(true);
- PathHandler pathHandler = new PathHandler();
- server.setHandler(pathHandler);
- server.start();
- server.join();
- }
-
- public static class PathHandler extends AbstractHandler
- {
- JsonHandler _jsonHandler=new JsonHandler();
- PlainTextHandler _plainHandler=new PlainTextHandler();
-
- public PathHandler()
- {
- addBean(_jsonHandler);
- addBean(_plainHandler);
- }
- @Override
- public void setServer(Server server)
- {
- super.setServer(server);
- _jsonHandler.setServer(server);
- _plainHandler.setServer(server);
- }
- @Override
- public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
- {
- if ("/plaintext".equals(target))
- _plainHandler.handle(target,baseRequest,request,response);
- else if ("/json".equals(target))
- _jsonHandler.handle(target,baseRequest,request,response);
- }
-
- }
- }
|