use of org.mortbay.jetty.handler.ContextHandler in project tomee by apache.
the class JettyHttpServer method init.
@Override
public void init(final Properties props) throws Exception {
final Options options = new Options(props);
port = options.get("port", 8080);
// Create all the Jetty objects but dont' start them
server = new Server();
final Connector connector = new SelectChannelConnector();
connector.setPort(port);
server.setConnectors(new Connector[] { connector });
final ContextHandler context = new ContextHandler();
context.setContextPath("/");
final ServletContext servletContext = context.getServletContext();
server.setHandler(context);
final Handler handler = new AbstractHandler() {
@Override
public void handle(final String target, final HttpServletRequest req, final HttpServletResponse res, final int dispatch) throws IOException, ServletException {
try {
((Request) req).setHandled(true);
final HttpRequest httpRequest = new ServletRequestAdapter(req, res, servletContext);
final HttpResponse httpResponse = new ServletResponseAdapter(res);
JettyHttpServer.this.listener.onMessage(httpRequest, httpResponse);
} catch (IOException | ServletException e) {
throw e;
} catch (Exception e) {
throw new ServletException(e);
}
}
};
final SessionHandler sessionHandler = new SessionHandler();
final SessionManager sessionManager = new HashSessionManager();
sessionManager.setIdManager(new HashSessionIdManager());
sessionHandler.setSessionManager(sessionManager);
sessionHandler.setHandler(handler);
context.setHandler(sessionHandler);
}
use of org.mortbay.jetty.handler.ContextHandler in project exhibitor by soabase.
the class ExhibitorMain method addSecurityFile.
private void addSecurityFile(HashUserRealm realm, String securityFile, Context root) throws Exception {
// create a temp Jetty context to parse the security portion of the web.xml file
/*
TODO
This code assumes far too much internal knowledge of Jetty. I don't know
of simple way to parse the web.xml though and don't want to write it myself.
*/
final URL url = new URL("file", null, securityFile);
final WebXmlConfiguration webXmlConfiguration = new WebXmlConfiguration();
WebAppContext context = new WebAppContext();
context.setServer(server);
webXmlConfiguration.setWebAppContext(context);
ContextHandler contextHandler = new ContextHandler("/") {
@Override
protected void startContext() throws Exception {
super.startContext();
setServer(server);
webXmlConfiguration.configure(url.toString());
}
};
contextHandler.start();
try {
SecurityHandler securityHandler = webXmlConfiguration.getWebAppContext().getSecurityHandler();
if (realm != null) {
securityHandler.setUserRealm(realm);
}
root.setSecurityHandler(securityHandler);
} finally {
contextHandler.stop();
}
}
Aggregations