|
@@ -0,0 +1,69 @@
|
|
|
+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);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+}
|