summaryrefslogtreecommitdiff
path: root/api/src/main/java/mancala/App.java
diff options
context:
space:
mode:
authorMike Vink <mike1994vink@gmail.com>2021-06-25 12:56:04 +0200
committerMike Vink <mike1994vink@gmail.com>2021-06-25 12:56:04 +0200
commit6bd8d0345e3ac653c3fad4f1c7a6352e8a4a166e (patch)
treef142d3f43add40c2dd56bc496d6b4ab497f31a3e /api/src/main/java/mancala/App.java
parent38d59e2876b9f4d7c589d58295ef8acdf336a45b (diff)
parent102b25f18d9b269c58d15677f10cd71c15003c4b (diff)
Merge branch 'mvcFeature' into mainline
Diffstat (limited to 'api/src/main/java/mancala/App.java')
-rw-r--r--api/src/main/java/mancala/App.java49
1 files changed, 49 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..8560e2d
--- /dev/null
+++ b/api/src/main/java/mancala/App.java
@@ -0,0 +1,49 @@
+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);
+ return 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/mancala/api/start
+ ServletHolder serverHolder = context.addServlet(ServletContainer.class, "/mancala/api/*");
+ serverHolder.setInitOrder(1);
+ serverHolder.setInitParameter("jersey.config.server.provider.packages",
+ "mancala.api");
+ }
+}