2007-11-15

程序中集成embedded tomcat

关键字: tomcat
启动程序

没看出来比用eclipse启动好在什么地方,也许一样。

package start;

import org.apache.catalina.Context;
import org.apache.catalina.Engine;
import org.apache.catalina.Host;
import org.apache.catalina.LifecycleException;
import org.apache.catalina.connector.Connector;
import org.apache.catalina.startup.Embedded;

public class Run {

	private static Embedded tomcat = null;
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		initEmbedded();
		initShutdownHook();
		startTomcat();
	}

	private static void startTomcat(){
		try {
			tomcat.start();
		} catch (LifecycleException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	private static void initShutdownHook(){
		Runtime.getRuntime().addShutdownHook(new Thread(){
			public void run(){
				try {
					tomcat.stop();
				} catch (LifecycleException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		});
	}
	private static void initEmbedded() {
		tomcat = new Embedded();
		tomcat.setCatalinaHome("D:\\apache-tomcat-5.5.25-embed");
		
		Engine engine = tomcat.createEngine();
		engine.setName("MyEngine");

		Host host = tomcat.createHost("localhost", "D:\\apache-tomcat-5.5.25-embed\\webapps");
		Context myContext = tomcat.createContext("/test", "C:\\WQF\\eclipse\\workspace2\\TomEmd");
		
		host.addChild(myContext);
		engine.addChild(host);
		engine.setDefaultHost("localhost");
		tomcat.addEngine(engine);
		Connector connector = tomcat.createConnector("localhost", 8080, false);
		tomcat.addConnector(connector);
	}

}

评论
发表评论

您还没有登录,请登录后发表评论

weiqingfei
搜索本博客
存档
最新评论