Embeded tomcat7应用实例Embeded tomcat可以提高开发效率,具有部署方便、跨平台等优点。在项目之处应用Embed
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(); // 这个一定要}}
1 楼 ieblaze 2011-09-02 我也配置了下 怎么出现了问题? 求教下
No global web.xml found
org.apache.catalina.LifecycleException: Failed to start component [StandardServer[-1]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:152)
at org.apache.catalina.startup.Tomcat.start(Tomcat.java:336)
at blaze.EmbededTomcat.start(EmbededTomcat.java:28)
at blaze.EmbededTomcat.main(EmbededTomcat.java:40)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Tomcat]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:152)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:727)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:148)
... 3 more 2 楼 tsinglongwu 2011-09-05 ieblaze 写道我也配置了下 怎么出现了问题? 求教下
No global web.xml found
org.apache.catalina.LifecycleException: Failed to start component [StandardServer[-1]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:152)
at org.apache.catalina.startup.Tomcat.start(Tomcat.java:336)
at blaze.EmbededTomcat.start(EmbededTomcat.java:28)
at blaze.EmbededTomcat.main(EmbededTomcat.java:40)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Tomcat]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:152)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:727)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:148)
... 3 more
文档结构要正确,字面上来看是找不到web.xml文件,你查看一下在$PROJECT_HOME/webapps/$PROJECT_NAME/WEB-INF/下是否有该文件?