For example, you can create VirtualHosts with a ServletContextHandler, and you can easily control the context. This means different context handlers on different ports.
Server server = new Server(); ServerConnector pContext = new ServerConnector(server); pContext.setPort(8080); pContext.setName("Public"); ServerConnector localConn = new ServerConnector(server); localConn.setPort(9090); localConn.setName("Local"); ServletContextHandler publicContext = new ServletContextHandler(ServletContextHandler.SESSIONS); publicContext.setContextPath("/"); ServletHolder sh = new ServletHolder(new HttpServletDispatcher()); sh.setInitParameter("javax.ws.rs.Application", "ServiceListPublic"); publicContext.addServlet(sh, "/*"); publicContext.setVirtualHosts(new String[]{"@Public"}); ServletContextHandler localContext = new ServletContextHandler(ServletContextHandler.SESSIONS); localContext .setContextPath("/"); ServletHolder shl = new ServletHolder(new HttpServletDispatcher()); shl.setInitParameter("javax.ws.rs.Application", "ServiceListLocal"); localContext.addServlet(shl, "/*"); localContext.setVirtualHosts(new String[]{"@Local"});
source share