diff options
Diffstat (limited to 'api/src/main/java/mancala/App.java')
| -rw-r--r-- | api/src/main/java/mancala/App.java | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/api/src/main/java/mancala/App.java b/api/src/main/java/mancala/App.java new file mode 100644 index 0000000..062e8e1 --- /dev/null +++ b/api/src/main/java/mancala/App.java @@ -0,0 +1,48 @@ +package mancala; + +import org.eclipse.jetty.server.Handler; +import org.eclipse.jetty.server.Server; +import org.eclipse.jetty.server.handler.*; +import org.eclipse.jetty.webapp.*; +import org.eclipse.jetty.servlet.ServletHandler; +import org.eclipse.jetty.servlet.ServletContextHandler; +import org.eclipse.jetty.servlet.ServletHolder; +import org.glassfish.jersey.servlet.ServletContainer; + +import mancala.api.*; + +public class App { + public static void main(String[] args) throws Exception { + Server server = startServer(8080); + ServletContextHandler context = createStatefulContext(server); + registerServlets(context); + + server.start(); + System.out.println("Started server."); + System.out.println("Listening on http://localhost:8080/"); + System.out.println("Press CTRL+C to exit."); + server.join(); + } + + private static Server startServer(int port) { + return new Server(8080); + } + + private static ServletContextHandler createStatefulContext(Server server) { + ServletContextHandler context = + new ServletContextHandler(ServletContextHandler.SESSIONS); + context.setContextPath("/"); + server.setHandler(context); + } + + private static void registerServlets(ServletContextHandler context) { + // Use the Jersey framework to translate the classes in the + // mancala.api package to server endpoints (servlets). + // For example, the StartMancala class will become an endpoint at + // http://localost:8080/start + ServletHolder serverHolder = context.addServlet(ServletContainer.class, "/mancala/api/*"); + serverHolder.setInitOrder(1); + serverHolder.setInitParameter("jersey.config.server.provider.packages", + "mancala.api"); + } +} |
