jetty同一端口启动多个项目的方法

1.新建一个web项目,或者随便找一个现有的web项目;

2.将org.mortbay.jetty.jar 和 jetty-util-6.1.26.jar 两个jar包放到lib目录下;

3.如果当前项目引用的server runtime是tomcat5.X,则需要将servlet-api.jar 替换掉tomcat中的;如果是tomcat6.x的话,不用更改;

4.将Test.java 放入到src下;

5.项目中还需要引入common-logging的jar包;

6.打开Test.java, 右键,run as-> java application,即可同时启动多个项目。

核心代码

Test.java

public static void main(String[] args) throws Exception {
Server server = new Server(8080); 
ContextHandlerCollection contexts = new ContextHandlerCollection(); 
//获取工程的根目录 
// String relativelyPath=System.getProperty("user.dir"); 

//添加第一个web工程,名称是test
WebAppContext context = new WebAppContext(); 
context.setContextPath("/test"); //上下文根
context.setDescriptor("D:/esendev/irpt511/test/web/WEB-INF/web.xml"); //项目web.xml所在位置
context.setResourceBase("D:/esendev/irpt511/test/web"); //需要发布的内容
context.setParentLoaderPriority(true); 

//使用上下文列表,添加多个上下文,即多个web工程 
contexts.addHandler(context); 

//添加第二个web工程,名称是irpt
WebAppContext context2 = new WebAppContext(); 
context2.setContextPath("/irpt"); 
context2.setDescriptor("D:/esendev/irpt511/irpt/pages/WEB-INF/web.xml"); 
context2.setResourceBase("D:/esendev/irpt511/irpt/pages"); 
context2.setParentLoaderPriority(true); 
//使用上下文列表,添加多个上下文,即多个web工程 
contexts.addHandler(context2); 

server.setHandler(contexts); 

server.start();
server.join(); 
}

你可能感兴趣的:(web工程)