jetty嵌入多个工程
今天在看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();
}
}
页:
[1]