嵌入式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

相关推荐
字节高级特工2 分钟前
C++11(一) 革新:右值引用与移动语义
java·开发语言·c++·人工智能·后端
郝学胜-神的一滴3 分钟前
系统设计 012:从用户系统出发,吃透缓存、数据库与高并发设计
java·数据库·python·缓存·php·软件构建
人道领域7 分钟前
【LeetCode刷题日记】654.最大二叉树:递归算法详解
java·算法·leetcode
青云计划7 分钟前
Synchronized 锁升级:从偏向锁到重量级锁的性能进化之路
java·后端
spencer_tseng7 分钟前
HeapOOM && jvisualvm.exe
java·linux·jvisualvm.exe
一条泥憨鱼9 分钟前
详解MySQL事务(超详细版)
java·数据库·mysql·spring·maven·后端开发
二哈赛车手8 小时前
新人笔记---ApiFox的一些常见使用出错
java·笔记·spring
栗子~~9 小时前
JAVA - 二层缓存设计(本地缓冲+redis缓冲+广播所有本地缓冲失效) demo
java·redis·缓存
YDS8299 小时前
DeepSeek RAG&MCP + Agent智能体项目 —— RAG知识库的搭建和接口实现
java·ai·springboot·agent·rag·deepseek
未若君雅裁10 小时前
MyBatis 一级缓存、二级缓存与清理机制
java·缓存·mybatis