從Alfred文章中扣出來的,以前到是沒有用過這種方法,收錄收錄:):
package com.wisekernel;
import java.net.InetAddress;
import org.apache.catalina.Connector; import org.apache.catalina.Context; import org.apache.catalina.Engine; import org.apache.catalina.Host; import org.apache.catalina.startup.Embedded;
public class MyEmbededTomcat {
/** * @param args * @throws Exception */ public static void main(String[] args) throws Exception { Embedded tomcat = new Embedded(); tomcat.setDebug(9); Engine engine = tomcat.createEngine(); Host host = tomcat.createHost("localhost",""); engine.setDefaultHost("localhost"); engine.addChild(host); Context context = tomcat.createContext("","D:/Program Files/eclipse311/workspace/tuition1/WeBRoot"); host.addChild(context); tomcat.addEngine(engine); Connector connector = tomcat.createConnector((InetAddress)null,8080,false); tomcat.addConnector(connector); tomcat.start(); }
}
package com.wisekernel;
import org.mortbay.http.SocketListener; import org.mortbay.jetty.Server;
public class Jetty5 {
/** * @param args * @throws Exception */ public static void main(String[] args) throws Exception { Server server = new Server(); SocketListener listener = new SocketListener(); listener.setPort(8080); server.addListener(listener); server.addWebApplication("/", "./WebRoot"); server.start(); }
}
EmbededTomcat 的createContext()方法中寫入的應(yīng)該是Web App的絕對路徑。這點不如Jetty來的方便,Jetty可以寫相對路徑。 EmbededTomcat 的項目classpath中不能有XerecsImpl.jar,否則會報錯,這個bug不知道怎么fix。
|