tomcat源码研究之测试用例研究

本文探讨如何将Tomcat嵌入到自己的应用程序中,以便像Spring Boot一样直接运行项目。首先,需要将Tomcat的库jar导入到应用中,然后编写Web程序,初始化Tomcat的配置,包括设置WAR包、Servlet和监听器等。
摘要由CSDN通过智能技术生成
[b][size=large]
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 {
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值