SimpleWebServer 0.2.10 发布,第一个非正式见面版本 - 开源中国社区
Float_left Icon_close
SimpleWebServer 0.2.10 发布,第一个非正式见面版本
hibegin 2018年01月20日

SimpleWebServer 0.2.10 发布,第一个非正式见面版本

hibegin hibegin 发布于2018年01月20日 收藏 10

转眼间,距离上一版本发布已经过了一年多,经过反复的测试使用,终于迎来第一个稳定版本

介于大多人都还不太清楚SimpleWebServer是什么东西?(敲黑板)那么我们来重新介绍下
SimpleWebServer 是一款使用Java基于NIO编写的超轻量级开源Web Application Server

是否遇到有时候想做一些小的Web程序,但是迫于Java运行环境过于繁琐而迟迟没有下手,那么现在除了SpringBoot,广大的Java程序员又多了一个选择

轻量级

并不基于servlet,源代码仅3000行左右,jar包仅 0.1m 左右,零依赖,无xml,极低的内存占用,所以不用担心程序能不能在嵌入式(树莓派)/Android 上能否正常运行

完整

Cookie,Interceptor,Json,模板,文件上传,基本常用API都有,使得写Web应用更容易

快速上手

request, response, controller. interceptor 还是熟悉的配方,熟悉的味道

<dependency>
    <groupId>com.hibegin</groupId>
    <artifactId>simplewebserver</artifactId>
    <version>0.2.10</version>
</dependency>

public class DemoController extends Controller{

    public static void main(String[] args) {
        ServerConfig serverConfig = new ServerConfig();
        serverConfig.getRouter().addMapper("", DemoController.class);
        new WebServerBuilder.Builder().serverConfig(serverConfig).build().startWithThread();
    }

    public void index() {
          getResponse().renderText("Hello world/v" + ServerInfo.getVersion());
    }
}

性能

简单与号称 “性能打爆网卡的tio” 对比
感兴趣移步到 https://gitee.com/94fzb/simplewebserver-performance

变更记录

新特

  • 多线程解码HTTP请求,更加充分使用资源

优化

  • Cookie 的过期时间的设置方式

  • Json 序列化是使用 Gson 替换 flexjson

  • 对代理请求的处理

  • WebServer的销毁逻辑

  • HTTPS 配置更加方便

  • 处理 maxRequestBody 逻辑

  • 删除上传文件生成的临时文件

  • 减少 Android 设备的资源占用

修复

  • 默认的日志存放路径不支持中文路径

  • Android设备日志保存异常

  • Chrome浏览器,部分特殊文件无法进行下载

  • 一处内存泄漏

  • HttpSession中的Map不能使用 null

  • 几出已知的NullPointException

开源地址

最后

Simple Web Server 名称是不是太草率了?
写完第一个版本后,苦于命名,参照了 S3(Simple Storage Service)

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:SimpleWebServer 0.2.10 发布,第一个非正式见面版本
分享
评论(3)
最新评论
0

引用来自“哈小海”的评论

嗯,很有想法,不错
@哈小海 谢谢,难得的肯定, PS: 大多数人没有看到吧(果然周末不应该投递新闻)。
0
嗯,很有想法,不错
0
支持
顶部