今天在看openfire中的connectionManager中嵌入一个web工程,提供JS api
使用ContextHandlerCollection对象添加多个web工程
package hb.jetty; import org.mortbay.jetty.Server; import org.mortbay.jetty.handler.ContextHandlerCollection; import org.mortbay.jetty.servlet.ServletHandler; import org.mortbay.jetty.webapp.WebAppContext; public class JettyMoreServers { public static void main(String[] args) throws Exception { Server server = new Server(8080); ContextHandlerCollection contexts = new ContextHandlerCollection(); //获取工程的根目录 String relativelyPath=System.getProperty("user.dir"); //添加第一个web工程,名称是manager WebAppContext context = new WebAppContext(); context.setContextPath("/manager"); context.setDescriptor(relativelyPath + "/jetty/webapps/manager/WEB-INF/web.xml"); context.setResourceBase(relativelyPath + "/jetty/webapps/manager"); context.setParentLoaderPriority(true); //使用上下文列表,添加多个上下文,即多个web工程 contexts.addHandler(context); //添加第二个web工程,名称是manager WebAppContext context2 = new WebAppContext(); context2.setContextPath("/myweb"); context2.setDescriptor(relativelyPath + "/jetty/webapps/myweb/WEB-INF/web.xml"); context2.setResourceBase(relativelyPath + "/jetty/webapps/myweb"); context2.setParentLoaderPriority(true); //使用上下文列表,添加多个上下文,即多个web工程 contexts.addHandler(context2); server.setHandler(contexts); server.start(); server.join(); } }