Jakarta Servlet 6.1 · Java 17+ 开源免费商用 · Apache-2.0

smart-servlet

把 Spring Boot 里的 Tomcat,换成初始内存仅 12MB 的 smart-servlet

只改 pom.xml 依赖 · Tomcat / Undertow 直接替代 · 兼容 Spring Boot 3.x / Spring Cloud / Shiro

Servlet TCK 通过率
100%
QPS(wrk 压测)
42W
初始 Heap 内存
12MB
业务代码改动
0 行
— 累计发布版本(实时)
迁移成本

换掉 Tomcat,只需要两步

Spring Boot 工程结构保持不变,规范行为与 Tomcat 对齐,业务代码零改动。

1

排除 Spring Boot 默认的 Tomcat − remove

在 pom.xml 中移除内嵌容器依赖

2

引入 smart-servlet 依赖 + add

示例版本 4.0,请使用最新版本。原有 server.port 等配置继续生效,无需新增专属配置。

2 处 pom.xml 依赖调整
0 行 业务代码改动
3.x Spring Boot 实测兼容,Shiro 等主流框架直接运行
pom.xml
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
    </exclusions>
</dependency>

<dependency>
    <groupId>tech.smartboot.servlet</groupId>
    <artifactId>smart-servlet-spring-boot-starter</artifactId>
    <version>4.0</version>
</dependency>
核心价值

为什么换掉 Tomcat?

内存、合规、性能——替换动机各不相同,smart-servlet 同时满足

内存成本

初始 Heap 仅 12MB,压测 Heap 峰值比 Tomcat 低 27%、比 Undertow 低 47%。云上按内存计费与容器化部署场景下,直接降低运行成本。

性能余量

搭载 smart-socket 微内核与高效 IO 模型,高并发与流量高峰场景下留足性能余量。

无缝兼容

遵循 Jakarta Servlet 6.1 规范,Spring Boot、Spring Cloud、Shiro 等遵循 Servlet 规范的框架直接运行,业务代码零改动。

性能测试

性能对比报告

Spring Boot plaintext 场景,ab(100 万次请求)与 wrk(1024 并发)两组压测,同机对比、全部可复现

  • Tomcat
  • Undertow
  • smart-servlet
并发 10
并发 100
并发 1000

QPS,越高越好 · 增益为 smart-servlet 相对 Tomcat 的提升幅度

  • Tomcat
  • Undertow
  • smart-servlet
QPS · wrk · 1024 并发

越高越好 · 相对 Tomcat +320%

压测 Heap 峰值 · wrk

越低越好 · 相对 Tomcat -27%

质量证据

两年,从 88.4% 到 100%

自 2024 年引入 Servlet TCK 起,每个版本公开发布测试报告

1732 当前版本 TCK 用例总数
1732 通过用例,全部通过
历次通过率记录公开可查,完整用例明细可在 TCK 测试报告 页下载复核
  1. 2020-11 立项,起步于 Servlet 3.1
  2. 2023 引入 Servlet TCK 体系化测试
  3. 2024 1.0 / 2.0 发布,升级 Servlet 6.0;年末迁移至 Feat 平台
  4. 2025 3.0 发布
  5. 2026-11 4.0 发布,TCK 100% 通过
开源协议与企业服务

免费商用,服务可选

Apache-2.0 授权企业免费用于生产;付费购买的是答疑咨询与需求支持,不是使用许可。

社区版

完整能力,免费使用

Apache License 2.0 · 企业免费商用,无需采购授权

  • ✓商用、修改、再分发、嵌入闭源产品、提供托管服务
  • ✓无并发数、部署规模、功能或试用时长限制
  • ✓与订阅客户使用同一份代码、同一套功能
  • ✓公开 Issue 开源生态支持,由社区响应
  • —企业级专属支持可通过订阅获得

再分发时保留版权声明与 NOTICE 文件,并对修改文件作出说明;商标与官方认证标识需另行获得书面许可。 详见开源协议与使用条款。

免费开始使用
企业服务订阅 · 按年付费

答疑咨询,需求支持

专属顾问 1 对 1 服务,订阅不会解锁任何功能

  • 答疑与需求
  • ✓1 对 1 答疑咨询:专属对接人/专属群/服务工单
  • ✓需求支持:功能需求评估、优先排期与定制化方案
  • 生产保障
  • ✓生产故障优先处置与远程/现场兜底
  • ✓指定版本长期维护(LTS)、安全补丁、EOL 通知
  • ✓JDK / Spring Boot 大版本升级适配指导
  • 合规与增值(按人天)
  • ✓代码审计说明、SBOM、供应链安全问卷配合
  • ✓迁移实施、架构评审、压测调优与培训

按部署规模与支持等级年度订阅;实施、定制开发与驻场按人天计价。具体范围与响应时效以双方确认的服务方案为准。

12MB内存占用,资源友好
5 年+2020 年立项,持续维护迭代
0功能差异,所有人同一份代码
1对1专属答疑咨询与需求支持通道

常见问题

企业商用需要购买授权吗?

不需要。smart-servlet 采用 Apache License 2.0,企业可免费用于生产与商业场景,无需采购使用授权,也没有并发数、部署规模或试用时长的限制。

社区版和企业服务订阅的功能有区别吗?

没有。所有用户使用同一份代码,功能与性能完全一致。订阅服务不会解锁任何功能,也不会限制未订阅用户使用任何能力。

那付费买到的是什么?

答疑咨询与需求支持:1 对 1 专属顾问答疑(及时响应、跟进到底)、功能需求评估与优先排期、生产故障优先处置、指定版本长期维护与安全补丁、代码审计与合规材料配合,以及迁移实施、架构评审、压测调优与培训。

支持渠道怎么划分?

公开 Issue 提供开源生态支持,由社区响应;商务咨询、订阅申请与订阅客户的技术支持均通过邮箱 zhengjunweimail@163.com 1 对 1 联系,不在公开 Issue 提交,也请勿在此提交生产故障与敏感信息。

两步 pom 修改,5 分钟换掉 Tomcat

0 行业务代码改动 · 42W QPS · Apache-2.0 免费商用