嵌入式tomcat和实现使用嵌入式tomcat映射静态资源

1,嵌入式tomcat

嵌入式Tomcat是指将Tomcat服务器嵌入到应用程序中,以便应用程序可以自行启动和管理Tomcat服务器。通过嵌入式Tomcat,可以将Web应用程序打包成一个可执行的JAR文件,方便部署和运行。

嵌入式Tomcat的主要特点包括:

  1. 简化部署:将Tomcat服务器嵌入到应用程序中,无需单独安装和配置Tomcat服务器。
  2. 独立运行:应用程序可以作为一个独立的进程运行,不依赖于外部的Tomcat服务器。
  3. 灵活性:可以通过代码来配置和管理Tomcat服务器,可以根据应用程序的需求进行自定义配置。
  4. 轻量级:相比于传统的独立安装的Tomcat服务器,嵌入式Tomcat更加轻量级,占用资源更少。

使用嵌入式Tomcat可以方便地将Web应用程序打包成一个可执行的JAR文件,并通过命令行或脚本启动应用程序。在应用程序启动时,嵌入式Tomcat会自动加载并部署Web应用程序,提供HTTP服务。

从Tomcat5.0开始提供和支持Embeded版本,即最简化Tomcat Server。Tomcat和Embedded Tomcat版本是同步发布的,即我们导入tomcatmaven依赖时选择version时可以根据tomcat的版本来选择。

2,嵌入式tomcat映射静态资源

嵌入式tomcat的代码方式其实跟他的server.xml配置文件差不多。想了解server.xml可以看一下这篇文章

java 复制代码
public class TomcatEmbed {
    public static void main(String[] args) throws LifecycleException {
        Tomcat tomcat = new Tomcat();
		//创建service,对应server.xml的<service>标签
        Service service = new StandardService();
        //创建Connector ,对应server.xml的<Connector>标签
        Connector connector = new Connector();
        connector.setPort(8000);
		service.addConnector(connector);

		//创建Host,对应server.xml的<Host>标签
        StandardHost host = new StandardHost();
        host.setAutoDeploy(false);
        host.setName("localhost");

		//创建Engine ,对应server.xml的<Engine>标签
        Engine engine = new StandardEngine();
        engine.setDefaultHost("localhost");
        engine.addChild(host);
        service.setContainer(engine);

        tomcat.getServer().addService(service);

        tomcat.addWebapp(host,"/meet","E:\\test");
		//启动tomcat
        tomcat.start();
        tomcat.getServer().await();
    }
}

访问 http://localhost:8000/meet/2008032.jpg

相关推荐
wuqingshun3141598 小时前
什么是责任链模式,一般用在什么场景?
java·责任链模式
:-)9 小时前
算法-归并排序
java·开发语言·数据结构·算法·排序算法
wuqingshun3141599 小时前
说一下消息队列的模型有哪些?
java
fīɡЙtīиɡ ℡10 小时前
布隆过滤器
java
yaoxin52112311 小时前
462. Java 反射 - 获取声明类与封闭类
java·开发语言·python
wuqingshun31415913 小时前
MYSQL的乐观锁和悲观锁是什么?
java
唐青枫14 小时前
Java SLF4J 实战指南:从日志门面到 Logback、MDC 和链路追踪
java
jvmind_dev14 小时前
Java GC 实战指南(番外篇):被忽视的隐形杀手 —— Class Unloading 如何拖垮 GC
java·后端
An_s14 小时前
机器学习python之识别图中物品信息
java·linux·开发语言
AIGS00114 小时前
跨越语义鸿沟:企业本体语义平台的构建与落地
java·人工智能·python·机器学习·人工智能ai大模型应用