🎉 国产自研 Servlet 容器又往前迈进一步
1、smart-servlet 简介
smart-servlet 是目前 Gitee、Github 平台上首款,也是 唯一的全栈核心技术自研 的国产开源的 Servlet 容器项目。
产品特色
-
国产血统:核心技术 100% 全栈自研。
-
性能优越:搭载最新版通信微内核 smart-socket。
-
安全可靠:严格遵循协议规范;支持加密传输方式。
-
极致轻量:发行包不足 800KB。
-
简洁易用:支持 War 包、springboot、maven-plugin 等多种运行模式,使用体验 100% 兼容 Tomcat。
2、 版本更新
继上周发布 smart-servlet v0.6 后,本周迎来了最新版 v0.7。
最近几个版本的 smart-servlet,都是某些外部因素的变化,让我们看到了一丝延续其生命的希望。
大家都心知肚明,这个类型的项目对个人而言的确有极高的技术价值,研发过程中可以接触到全方位的 Java 技术要点。
但是,这又是一款商业价值极低的产品。来自国外的 Tomcat、Undertow、Jetty 已制霸行业多年,免费、稳定、好用。而 smart-servlet 起步太晚,还选择商业付费赞助的路线,这一策略让自身失去了很多潜在用户。
所幸在信创背景下,让 smart-servlet 有机会成为一些企业的选择。我们也知道这条路依旧不会走的顺利,毕竟“一个人,打造一套 Servlet 服务器”这种事,说出来有点太不可思议了。不明真相的群众更宁愿相信这又是一场“国产化闹剧”。
好在还有一小部分用户愿意往前迈出一步,对 smart-servlet 作一个初期的了解。这样的举动促进了 smart-servlet 在一些规范实现细节上的改进,也成就了最近几次发版。
本次更新内容:
-
优化 ServletResponse#setContentType 规范实现。
-
优化 ServletContext#getResourcePaths 规范的实现
-
优化输出流的字符集编码处理。
-
优化 RequestDispatcher 规范实现。
-
升级 smart-http 至 1.3.8
3、快速上手
我们提供了三种方式启用 smart-servlet,您可根据实际情况选择其中适用的一种。
方式一:maven 插件
这是一种类似:tomcat-maven-plugin
的使用方式,通常应用于 Java Web 工程的本地开发环境。集成该插件只需在 pom.xml 中加入以下代码,便可以在 IDE 中启动 servlet 服务。
<build> <plugins> <plugin> <groupId>org.smartboot.servlet</groupId> <artifactId>smart-servlet-maven-plugin</artifactId> <version>{最新版}</version> <configuration> <port>8080</port> <path>/portal</path> </configuration> </plugin> </plugins> </build>
插件的版本建议采用最新版本,另外主要的配置项包括:
-
port:servlet 服务启动的监听端口
-
path:Servlet 容器上下文路径,即 ContextPath,通常以 / 表示。当然也支持自定义,但必须以 / 开头 完成配置后在控制台输入:
mvn package smart-servlet:run
即可。
方式二:smart-servlet-spring-boot-starter
用过 springboot 的 spring-boot-starter-tomcat
或者 spring-boot-starter-undertow
的朋友应该对此不陌生。
smart-servlet-spring-boot-starter
本质上就是 smart-servlet 对 spring-boot-starter-web 的另一种适配。
只需按照以下方式调整 springboot 工程中 pom.xml 文件的配置,便可将 springboot 的默认 Servlet 容器替换成 smart-servlet。
<dependencys> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <!-- Exclude the Tomcat dependency --> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> </dependency> <!-- Use smart-servlet instead --> <dependency> <groupId>org.smartboot.servlet</groupId> <artifactId>smart-servlet-spring-boot-starter</artifactId> <version>{最新版}</version> </dependency> </dependencys>
方式三:发行包
发行包适用于 War 包的部署方式,也是生产环境中常用的一种形式。(PS:联系作者获取最新版)
出于项目发展需要,smart-servlet 将面向信创企业提供 10 份为期 1 年的 免费试用 资格。
名额有限,先到先得~
下期预告:
此前有多位用户反馈期望 smart-servlet 能够支持 JSP。
在 smart-servlet 的规划中,并没有考虑过支持 JSP。入行十几年以来从未接触使用到 JSP 的项目,因此适配 JSP 被我们认定为是一件不值得投入的任务。
但是,如今确实收到不少关于期望 smart-servlet 支持 JSP 的诉求。并且在跟社区伙伴一番交流后,也有同学愿意承接这项挑战。或许在下一次,我们将会看到一款支持 JSP 的 smart-servlet 插件。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
GoEdge CDN v1.3.3 发布,大幅性能提升、增强 WAF
GoEdge是一款可以帮你快速构建 CDN & WAF 平台的工具,支持 HTTP、HTTPS、Websocket、TCP、TLS、UDP、PROXY Protocol、IPv6、WAF 、WebP 等特性,支持阿里云、腾讯云、华为云等多个第三方 DNS 服务。 GoEdge v1.3.3是春节前最后一个版本,恭祝大家龙年身体健康,财源滚滚。此版本大幅提升WebP转换性能、User-Agent分析性能、增强WAF。 管理系统 EdgeAdmin 在网站列表中增加批量删除网站功能 自定义页面跳转支持使用变量 网站设置–“字符编码”设置中增加“强制替换”选项(与内容替换无关) WAF动作默认设置为“显示网页(page)”,减少因错误规则导致的IP封禁 WAF策略增加显示页面动作默认设置 WAF允许动作(ALLOW)增加有效范围,默认可以跳过网站和策略设置的规则 集群节点列表页增加停用/启用操作 修复参数匹配不区分大小写选项无法保存的问题 修复“迁移”功能中无法远程修改API节点访问地址的问题 修复部分内置页面没有<head>标签的问题 API节点 EdgeAPI 增加快...
- 下一篇
一站式文件存储 XFileStorage 发布 2.1.0 版本,新增多个存储平台,复制移动文件手动分片上传
原名 X Spring File Storage 现已捐赠至dromara开源组织 x-file-storage.dromara.org|x-file-storage.xuyanwu.cn|spring-file-storage.xuyanwu.cn 📚简介 一行代码将文件存储到本地、FTP、SFTP、WebDAV、阿里云 OSS、华为云 OBS、七牛云 Kodo、腾讯云 COS、百度云 BOS、又拍云 USS、MinIO、 Amazon S3、GoogleCloud Storage、FastDFS、 Azure Blob Storage、Cloudflare R2、金山云 KS3、美团云 MSS、京东云 OSS、天翼云 OOS、移动 云EOS、沃云 OSS、网易数帆 NOS、Ucloud US3、青云 QingStor、平安云 OBS、首云 OSS、IBM COS、其它兼容 S3 协议的存储平台。查看所有支持的存储平台 💡 通过 WebDAV 连接到 Alist 后,可以使用百度网盘、天翼云盘、阿里云盘、迅雷网盘等常见存储服务,查看Alist 支持的存储平台 GitHub:h...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Hadoop3单机部署,实现最简伪集群
- CentOS关闭SELinux安全模块
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7