Roberto Sánchez
2013-12-23 d7ee99d10fc17ca29511b2f1e551fcd1dd1c2c8e
securis/src/main/java/net/curisit/securis/MainApp.java
....@@ -12,14 +12,16 @@
1212 import net.curisit.securis.ioc.RequestsModule;
1313 import net.curisit.securis.ioc.SecurisModule;
1414
15
+import org.eclipse.jetty.server.Handler;
1516 import org.eclipse.jetty.server.Server;
16
-import org.eclipse.jetty.servlet.ErrorPageErrorHandler;
17
+import org.eclipse.jetty.server.handler.ContextHandlerCollection;
18
+import org.eclipse.jetty.server.handler.ResourceHandler;
1719 import org.eclipse.jetty.servlet.FilterHolder;
1820 import org.eclipse.jetty.servlet.ServletContextHandler;
1921 import org.eclipse.jetty.servlet.ServletHolder;
22
+import org.eclipse.jetty.util.resource.Resource;
2023 import org.jboss.resteasy.plugins.guice.GuiceResteasyBootstrapServletContextListener;
2124 import org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher;
22
-import org.jboss.resteasy.util.HttpResponseCodes;
2325 import org.slf4j.Logger;
2426 import org.slf4j.LoggerFactory;
2527
....@@ -52,8 +54,7 @@
5254
5355 private static void startServer(URI uri) throws Exception {
5456 System.out.println("Starting jetty...");
55
- // ResourceConfig rc = new PackagesResourceConfig("net.curisit.securis.services", "org.codehaus.jackson.jaxrs");
56
- // IoCComponentProviderFactory ioc = new GuiceComponentProviderFactory(rc, injector);
57
+
5758 server = new Server(9997);
5859 ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
5960 context.setContextPath("/");
....@@ -64,25 +65,35 @@
6465 context.addFilter(new FilterHolder(injector.getInstance(AuthFilter.class)), "/*", null);
6566
6667 ServletHolder sh = new ServletHolder(HttpServletDispatcher.class);
67
- // context.addServlet(DefaultServlet.class, "/*");
68
- context.addServlet(sh, "/");
69
- ErrorPageErrorHandler errorHandler = new ErrorPageErrorHandler();
70
- context.setErrorHandler(errorHandler);
71
- errorHandler.addErrorPage(HttpResponseCodes.SC_FORBIDDEN, "/login");
72
- errorHandler.addErrorPage(HttpResponseCodes.SC_NOT_FOUND, "/");
73
- errorHandler.addErrorPage(javax.ws.rs.NotFoundException.class, "/");
74
- errorHandler.addErrorPage(javax.ws.rs.ForbiddenException.class, "/");
75
- errorHandler.addErrorPage(javax.ws.rs.ForbiddenException.class.getCanonicalName(), "/");
76
- errorHandler.addErrorPage(ErrorPageErrorHandler.GLOBAL_ERROR_PAGE, "/");
68
+ sh.setName("resteasy");
69
+ context.addServlet(sh, "/*");
7770
71
+ ResourceHandler staticResources = new ResourceHandler();
72
+ staticResources.setBaseResource(Resource.newResource(MainApp.class.getResource("/static").toURI()));
73
+ staticResources.setWelcomeFiles(new String[]
74
+ { "/login.html" });
75
+ context.setHandler(staticResources);
76
+
77
+ // ErrorPageErrorHandler errorHandler = new ErrorPageErrorHandler();
78
+ // context.setErrorHandler(errorHandler);
79
+ // errorHandler.addErrorPage(HttpResponseCodes.SC_FORBIDDEN, "/login");
80
+ // errorHandler.addErrorPage(HttpResponseCodes.SC_NOT_FOUND, "/");
81
+ // errorHandler.addErrorPage(javax.ws.rs.NotFoundException.class, "/");
82
+ // errorHandler.addErrorPage(javax.ws.rs.ForbiddenException.class, "/");
83
+ // errorHandler.addErrorPage(javax.ws.rs.ForbiddenException.class.getCanonicalName(), "/");
84
+ // errorHandler.addErrorPage(ErrorPageErrorHandler.GLOBAL_ERROR_PAGE, "/");
85
+ context.setWelcomeFiles(new String[]
86
+ { "/index" });
7887 log.info("Error Handlers: " + context.getErrorHandler());
79
- server.setHandler(context);
88
+ ContextHandlerCollection contexts = new ContextHandlerCollection();
8089
90
+ contexts.setHandlers(new Handler[]
91
+ { staticResources, context });
92
+ // server.setHandler(contexts);
93
+
94
+ server.setHandler(context);
8195 server.start();
8296 server.join();
83
- // rc.packages("net.curisit.securis.services", "org.codehaus.jackson.jaxrs");
84
-
85
- // new CLStaticHttpHandler(new URLClassLoader(new URL[] {new URL("file:///home/username/staticfiles.jar")})), "/www")
8697
8798 }
8899
....@@ -98,6 +109,8 @@
98109
99110 @Override
100111 public Response toResponse(Exception e) {
112
+ // log.info("Creating DefaultExceptionHandler ");
113
+ e.printStackTrace();
101114 // For simplicity I am preparing error xml by hand.
102115 // Ideally we should create an ErrorResponse class to hold the error info.
103116 StringBuilder response = new StringBuilder("<response>");