Embeded tomcat7应用实例

    Embeded tomcat可以提高开发效率,具有部署方便、跨平台等优点。
    在项目之处应用Embeded tomcat6,结果在tomcat.start()后要应用Thread.sleep(10000)方法使其沉睡用户才有时间访问,使用tomcat.await()方法也无济于事(没仔细查资料,望有经验的朋友不吝指教,:))。因此只能升级到Embeded tomcat7,问题解决了。
import java.io.File;
import javax.servlet.ServletException;
import org.apache.catalina.LifecycleException;
import org.apache.catalina.startup.Tomcat;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class EmbededTomcat {
	
	private final Log log = LogFactory.getLog(getClass());
	
	public void start() throws Exception{
		Tomcat tomcat= new Tomcat();
		String projectPath=new File("").getAbsolutePath();
		tomcat.setBaseDir(projectPath); //Embeded tomcat存放路径
		tomcat.setPort(8080);
		try {
			tomcat.addWebapp("", projectPath+"/webapps/myweb");//应用存放路径
		} catch (ServletException e) {
			e.printStackTrace();
			log.error(e.getMessage());
			throw e;
		}
		try {
			tomcat.start(); // 启动
		} catch (LifecycleException e) {
			e.printStackTrace();
			log.error(e.getMessage());
			throw e;
		}
		log.info("Tomcat started.");
		tomcat.getServer().await(); // 这个一定要
	}
}

你可能感兴趣的:(apache,thread,tomcat,servlet)