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(); 
	}

}

猜你喜欢

转载自hbiao68.iteye.com/blog/1936476