转眼间,距离上一版本发布已经过了一年多,经过反复的测试使用,终于迎来第一个稳定版本 介于大多人都还不太清楚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 开源地址 码云 :https://gitee.com/94fzb/simplewebserver GitHub: https://github.com/94fzb/simplewebserver 最后 Simple Web Server 名称是不是太草率了? 写完第一个版本后,苦于命名,参照了 S3(Simple Storage Service) SimpleWebServer 0.2.10 发布,第一个非正式见面版本下载地址