[b][size=large]
tomcat 作为应用型服务器,尤其是web服务器。我们一般部署应用程序都是将自己的项目工程打包放到服务器指定的目录下, 然后启动服务器带动应用应用程序的启动。我们是否可以像spring boot那样直接run 我们的自己工程启动tomcat呢,下面来说说本人是怎么嵌入到自己应用程序中的呢?
[/size]
[b]
第一步,将tomcat框架下lib中的jar导入到自己应用程序中
[/b]
[b]
第二步,编写自己web程序 代码如下
[/b]
这是启动前的tomcat的初始化的一些类参数所用的父类
tomcat 作为应用型服务器,尤其是web服务器。我们一般部署应用程序都是将自己的项目工程打包放到服务器指定的目录下, 然后启动服务器带动应用应用程序的启动。我们是否可以像spring boot那样直接run 我们的自己工程启动tomcat呢,下面来说说本人是怎么嵌入到自己应用程序中的呢?
[/size]
[b]
第一步,将tomcat框架下lib中的jar导入到自己应用程序中
[/b]
[b]
第二步,编写自己web程序 代码如下
[/b]
这是启动前的tomcat的初始化的一些类参数所用的父类
package org.apache.catalina.startup;
import static org.junit.Assert.fail;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
import org.junit.rules.TestName;
public abstract class LoggingBaseTest {
protected Log log;
private File tempDir;
private List<File> deleteOnTearDown=new ArrayList<File>();
//提供当前执行方法的名字
@Rule
public final TestName testName=new TestName();
public File getBuildDirectory(){
try {
return new File(System.getProperty("tomcat.test.tomcatbuild"),".").getCanonicalFile();
} catch (IOException e) {
return null;
}
}
public File getTemporaryDirectory(){return tempDir;};
public void addDeleteOnTearDown(File file){
deleteOnTearDown.add(file);
}
@Before
public void setUp() throws Exception{
tempDir =new File( System.getProperty("tomcat.test.temp","tmp"));
if(!tempDir.mkdir()&&!tempDir.isDirectory()){
fail("Unable to create temporary directory for test");
}
//设置catalina.base
System.setProperty("catalina.base",tempDir.getAbsolutePath());
// Configure logging
System.setProperty("java.util.logging.manager",
"org.apache.juli.ClassLoaderLogManager");
System.setProperty("java.util.logging.config.file", new File(
getBuildDirectory(), "conf/logging.properties").toString());
// Get log instance after logging has been configured
log = LogFactory.getLog(getClass());
log.info("Starting test case [" + testName.getMethodName() + "]");
}
@After
public void tearDown() throws Exception {