smart-servlet 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
smart-servlet 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
smart-servlet 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 Apache
开发语言 Java
操作系统 跨平台
软件类型 开源软件
所属分类 Web应用开发
开源组织
地区 国产
投 递 者 三刀_sandao
适用人群 未知
收录时间 2020-11-16

软件简介

smart-servlet 是一款实现了 Servlet 3.1 规范,支持多应用隔离部署的的 Web 容器。

Part 1. 项目概述

smart-servlet 在 smart-http 的架构之上,通过继承 HttpHandle 实现了 Servlet 规范。这意味着任何 smart-http 服务都可以通过单独引入 smart-servlet 核心包的方式,将普通的 http 应用改造成 servlet 应用,而且这个成本是极低的。

为了更好融入现有的 Java 技术生态,尤其是 Spring 生态,我们在应用层面做了很多便利的设计:

  • binary distributions

    二进制软件包,可将 War 包部署到指定目录下以启动服务。类似:apache-tomcat-x.xx.xx.tar.gz

  • maven plugin

    通过maven插件的形式集成 smart-servlet,用于本地项目开发调试。类似于:tomcat7-maven-plugin。

  • springboot starter

    类似于: spring-boot-starter-tomcat、spring-boot-starter-undertow、spring-boot-starter-jetty。

版本说明

功能清单 社区版 企业版 说明
开源 ✅ 🚫 企业版是在社区版的基础上提供一些增强能力,可以理解为社区版是企业版的子集。具体差异以实际发布版本为准。
商用能力 ❌ ✅ 社区版相较企业版所缺少的授权项,在某些情况下可能无法满足企业商用标准
软件包 ✅ ✅ 开箱即用,解码后可部署 War 包运行,用于生产环境部署。
maven-plugin ✅ ✅ 集成pom.xml本地启动服务
springboot starter ✅ ✅ 继Tomcat、Undertow、Jetty之后的第四个spring-boot-starter-web包
多应用部署 ❌ ✅ 通过类加载器的隔离机制,实现单Web容器部署多应用
JSP页面支持 ❌ ✅ 暂未实现
Session规范 ✅ ✅ 暂未实现
Cookie规范 ✅ ✅ 暂未实现
服务配置维护 默认 自定义 社区版采用了默认的服务配置,仅适合本地项目的开发、调试。如需应用到生产环境,需要购买企业版以作服务配置调优。
价格 免费 订阅制 具体方案待定

如何选择适合自己的版本?

  • 社区版:

    提供了完整的Servle规范实现,可供技术人员学习交流。

    具备了基本的运行能力,可用于本地的开发调试。

    对于低流量的个人站点,亦可部署社区版(应对高并发的能力有限)。

  • 企业版:

    提供专业级的Web容器服务能力,支持参数调优以获得最佳的性能、稳定性表现。

    适合本地开发调试,以及生产环境应用。

    采用订阅制模式收取一定费用,为了更好的建设、发展该项目。

如何购买

  • 目前项目还处于研发期,仅开放社区版供大家免费下载体验。
  • 具体方案以项目实际发展状况再作设计,如果我们能找到良性的发展方向,不排除免费开放企业版的可能性。
  • 对本项目有卓越贡献的用户,将有机会免费获得企业版授权。贡献方式包括且不限于:贡献代码、功能测试、核对规范实现一致性、产出文档、推广本项目。
  • 本项目的捐赠者在项目正式发布前享有提前体验权利,有意向的朋友请前往【捐赠入口】,并在捐赠后及时与我取得联系。

开发团队

  • 三刀

Part 2. 操作手册

smart-servlet 还未正式发布,如需体验需要通过本地编译来使用,请按以下步骤操作:

  1. 拉取本仓库代码。

  2. 进入工程主目录执行 mvn install,当控制台出现以下信息时,说明编译成功。

    [INFO] ------------------------------------------------------------------------
    [INFO] Reactor Summary:
    [INFO] 
    [INFO] smart-servlet-parent ............................... SUCCESS [  1.168 s]
    [INFO] servlet-core ....................................... SUCCESS [ 10.142 s]
    [INFO] smart-servlet-spring-boot-starter .................. SUCCESS [  2.107 s]
    [INFO] smart-servlet-maven-plugin ......................... SUCCESS [  6.330 s]
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    
  3. 根据你自身的工程情况选择相应的集成方式。

    • maven plugin

      面向传统的 Servlet 或者 Spring MVC 工程,但必须是maven工程。需要在 web 模块所在的pom.xml中加入以下配置,若存在端口冲突自行调整。

     <!-- pom.xml -->
     <project>
      <build>
        <plugins>
          <plugin>
            <groupId>org.smartboot.servlet</groupId>
            <artifactId>smart-servlet-maven-plugin</artifactId>
            <version>1.0.0-SNAPSHOT</version>
            <configuration>
              <port>8080</port>
            </configuration>
          </plugin>
        </plugins>  
      </build>
     </project>
    • springboot starter

      对于Springboot提供的集成方式,替换原 spring-boot-starter-web 默认绑定的 Servlet 容器。

       <!-- pom.xml -->
       <project>
         <dependencies>
           <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>org.smartboot.servlet</groupId>
             <artifactId>smart-servlet-spring-boot-starter</artifactId>
             <version>1.0.0-SNAPSHOT</version>
           </dependency>
         </dependencies>
       </project>
  4. 完成配置,下一步启动你的应用。

特别说明

本项目还处于研发阶段,还未完成所有 Servlet 标准的兑现。如若在使用过程中发现问题可提 Issues 反馈,我们会尽快安排处理,感谢您的理解和支持!

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(8) 发布并加入讨论🔥
发表了资讯
02/19 09:14

🎉 国产自研 Servlet 容器,安全!可靠!

1、smart-servlet 简介 smart-servlet 是目前 Gitee、Github 平台上首款,也是 唯一的全栈核心技术自研 的国产开源的 Servlet 容器项目。 产品特色 国产血统:核心技术 100% 全栈自研。 性能优越:搭载最新版通信微内核 smart-socket。 安全可靠:严格遵循协议规范;支持加密传输方式。 极致轻量:发行包不足 800KB。 简洁易用:支持 War 包、springboot、maven-plugin 等多种运行模式,使用体验 100% 兼容 Tomcat。 2、 版本更...

3
3
发表了资讯
01/22 09:07

🎉 国产自研 Servlet 容器又往前迈进一步

1、smart-servlet 简介 smart-servlet 是目前 Gitee、Github 平台上首款,也是 唯一的全栈核心技术自研 的国产开源的 Servlet 容器项目。 产品特色 国产血统:核心技术 100% 全栈自研。 性能优越:搭载最新版通信微内核 smart-socket。 安全可靠:严格遵循协议规范;支持加密传输方式。 极致轻量:发行包不足 800KB。 简洁易用:支持 War 包、springboot、maven-plugin 等多种运行模式,使用体验 100% 兼容 Tomcat。 2、 版本更...

2
2
发表了资讯
01/12 09:11

🎉 信创首选,国产开源 Servlet 容器新版发布

1、smart-servlet 简介 smart-servlet 是目前 Gitee、Github 平台上首款,也是 唯一款全栈核心技术自研 的国产开源的 Servlet 容器项目。 产品特色 国产血统:核心技术 100% 全栈自研。 性能优越:搭载最新版通信微内核 smart-socket。 安全可靠:严格遵循协议规范;支持加密传输方式。 极致轻量:发行包不足 800KB 简洁易用:支持 War 包、springboot、maven-plugin 等多种运行模式,使用体验100%兼容 Tomcat。 2、 版本更新 ...

4
5
发表了资讯
2023/10/07 10:10

🎉smart-servlet v0.5 来袭:国产开源 Servlet 容器的新时代,不容错过!

1、smart-servlet 简介 smart-servlet 是目前 Gitee、Github 平台上首款,也是唯一款全栈核心技术自研的国产开源的 Servlet 容器项目。 产品特色 国产血统:核心技术 100% 全栈自研。 性能优越:搭载最新版通信微内核 smart-socket。 安全可靠:严格遵循协议规范;支持加密传输方式。 简洁易用:支持 War 包、springboot、maven-plugin 等多种运行模式,使用体验 100% 兼容 Tomcat。 2、 版本更新 停更几个月后,smart-servlet...

10
3
发表了资讯
2023/07/14 09:17

🎉信创产品 smart-servlet v0.4 发布,国产 Java 开源 Servlet 容器

1、smart-servlet 简介 smart-servlet 是目前 Gitee、Github 平台上首款,也是唯一款全栈核心技术自研的国产开源的 Servlet 容器项目。 产品特色 国产血统:核心技术 100% 全栈自研。 性能优越:搭载最新版通信微内核 smart-socket。 安全可靠:严格遵循协议规范;支持加密传输方式。 简洁易用:支持 War 包、springboot、maven-plugin 等多种运行模式,使用体验 100% 兼容 Tomcat。 模块介绍 模块 说明 代码量 servlet-core 实...

3
5
发表了资讯
2023/05/15 08:41

🎉国产开源的 Servlet 容器:smart-servlet v0.3 发布

1、smart-servlet 简介 smart-servlet是目前 Gitee、Github 平台上首款,也是唯一款全栈核心技术自研的国产开源的Servlet容器项目。 产品特色 国产血统:核心技术 100% 全栈自研。 性能优越:搭载最新版通信微内核 smart-socket。 安全可靠:严格遵循协议规范;支持加密传输方式。 简洁易用:支持 War 包、springboot、maven-plugin等多种运行模式,使用体验100%兼容 Tomcat。 模块介绍 模块 说明 代码量 servlet-core 实现了S...

9
8
发表了资讯
2022/11/23 09:01

✊ Servlet 服务器国产化,道阻且长,行则将至!

smart-servlet 是一款实现了 Servlet 3.1 规范,支持多应用隔离部署的的 Web 容器。与此同时,smart-servlet 还是一款插件化容器,基于内置的沙箱环境确保 smart-servlet 拥有最精简的运行能力,用户还可以通过自定义插件扩展容器的服务能力。 一、架构设计 smart-servlet 在 smart-http 的基础之上,通过继承 HttpHandle 实现了 Servlet 规范。这意味着任何 smart-http 服务都可以通过单独引入 smart-servlet 核心包的方式,将...

30
9
发表了资讯
2022/10/22 21:40

smart-servlet v0.1.7 发布,Web 容器

smart-servlet v0.1.7 已经发布。 关于 smart-servlet smart-servlet 是一款实现了 Servlet 3.1 规范,支持多应用隔离部署的的 Web 容器。与此同时,smart-servlet 还是一款插件化容器,基于内置的沙箱环境确保 smart-servlet 拥有最精简的运行能力,用户还可以通过自定义插件扩展容器的服务能力。 快速启动 下载 smart-servlet-bin-0.1.7.tar.gz 并解压。 部署你的war包至smart-servlet-bin-0.1.7/webapps。 执行smart-servlet...

0
3
发表了资讯
2022/10/08 07:27

🎉 国产 Servlet 容器可以轻量化到什么程度?答案是:0.5MB

一、关于 smart-servlet smart-servlet 是一款实现了 Servlet 3.1 规范,支持多应用隔离部署的 Web 容器。与此同时,smart-servlet 还是一款插件化容器,基于内置的沙箱环境确保 smart-servlet 拥有最精简的运行能力,用户还可以通过自定义插件扩展容器的服务能力。 二、快速启动 下载 smart-servlet-bin-0.1.6.tar.gz 并解压。 部署你的war包至smart-servlet-bin-0.1.6/webapps。(已用JPress项目亲测可用) 执行smart-servlet...

16
6
发表了资讯
2022/10/07 17:26

smart-servlet v0.1.6 发布,Web 容器

smart-servlet v0.1.6 已经发布。 关于 smart-servlet smart-servlet 是一款实现了 Servlet 3.1 规范,支持多应用隔离部署的的 Web 容器。与此同时,smart-servlet 还是一款插件化容器,基于内置的沙箱环境确保 smart-servlet 拥有最精简的运行能力,用户还可以通过自定义插件扩展容器的服务能力。 快速启动 下载 smart-servlet-bin-0.1.6.tar.gz 并解压。 部署你的war包至smart-servlet-bin-0.1.6/webapps。 执行smart-servlet...

1
3
2021/05/17 10:12

smart-servlet v0.1.4 发布,超高性能的国产开源 Servlet 服务器

smart-servlet 是一款实现了 Servlet 3.1 规范,支持多应用隔离部署的的 Web 容器。与此同时,smart-servlet 还是一款插件化容器,基于内置的沙箱环境确保 smart-servlet 拥有最精简的运行能力,用户还可以通过自定义插件扩展容器的服务能力。 1、更新内容 优化:依赖组件升级,smart-socket 升级至 1.5.8;smart-http 升级至 1.1.4。 优化:优化 Servlet 与 URI 的映射匹配逻辑。 优化:重构 Plugin 接口,支持 install 插件时...

3
8
发表了资讯
2021/05/06 12:22

smart-servlet v0.1.3 发布,超高性能的国产开源 Servlet 服务器

smart-servlet 是一款实现了 Servlet 3.1 规范,支持多应用隔离部署的的 Web 容器。与此同时,smart-servlet 还是一款插件化容器,基于内置的沙箱环境确保 smart-servlet 拥有最精简的运行能力,用户还可以通过自定义插件扩展容器的服务能力。 1、更新内容 实现 《JSR 356 Java™ API for WebSocket 》的部分规范。 升级 smart-http 至 v1.1.1。 移除 archives 模块。 2、架构设计 smart-servlet 在 smart-http 的架构之上,通过...

2
3
2021/01/01 11:47

smart-servlet v0.1.2 发布,开源人假期不打烊

smart-servlet 是一款实现了Servlet 3.1规范,支持多应用隔离部署的的 Web 容器。除此之外,smart-servlet 还是一款插件化容器,基于内置的沙箱环境确保 smart-servlet 拥有最精简的运行能力,用户还可以通过自定义插件扩展容器的服务能力。 开发这个项目的过程中会听到一些疑惑的声音:为什么要去开发 servlet 容器?现在还有人用 servlet 吗? 的确,都2021年了,10年前还是香饽饽的技术如今看上去有些过时了。但我认为这只是...

2
5
2020/12/18 12:13

开源 Servlet 服务器 smart-servlet v0.1.1 发布

smart-servlet 是一款实现了 Servlet 3.1 规范,支持多应用隔离部署的的 Web 服务器。 smart-servlet 在 smart-http 的基础之上,通过继承 HttpHandle 实现了 Servlet 规范。这意味着任何 smart-http 服务都可以通过单独引入 smart-servlet 核心包的方式,将普通的 http 应用改造成 servlet 应用,而且这个成本是极低的。 项目特色 零学习成本,素未谋面,却已相知。保留用户原有的 Tomcat、Undertow 使用习惯。 朴实无华,用最...

19
13
2020/12/12 14:27

smart-servlet v0.1.0 首发,筹备了 3 年的开源 Servlet 服务器

smart-servlet 是一款实现了 Servlet 3.1 规范,支持多应用隔离部署的的 Web 服务器。尽管开源时长仅 1 个月,还有着诸多不成熟,但希望未来能成为如同 Tomcat、Undertow 般优秀的项目。为了这个目标,smart-servlet 准备了三年: 3年前,开源 AIO 通信框架 smart-socket。为从事通信开发的朋友提供了除 netty、mina 之外的另一个选择,同时也为 smart-servlet 开发迈出了第一步。 2年前,开源 http 服务器 smart-http。不仅支持...

10
9
2020/12/01 10:27

国产自研 servlet 容器,smart-servlet 体验版发布

smart-servlet 是一款实现了Servlet 3.1规范,支持多应用隔离部署的的 Web 容器。除此之外,smart-servlet 还是一款插件化容器,用户可以通过开发自定义插件扩展容器的服务能力。 考虑到本项目还处于研发阶段,很多功能、设计在过程中存在较大的不确定性,故不在此处披露太多信息,以免某些过时、无效信息干扰大家对这个项目的理解。欢迎 下载源码 研究或与提 ISSUE 进行交流。 体验包下载地址:archives-1.0.0.tar.gz(支持Mac...

9
4
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
8 评论
21 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部