发布于 2018-01-21 00:02:38 | 59 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

simplewebserver 基于 NIO 的 webserver

simplewebserver 是基于 NIO 的简单 web 服务器:简易,灵活,更少的依赖,更多的扩展。更少的内存占用


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

介于大多人都还不太清楚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)



历史版本 :
SimpleWebServer 0.2.10 发布,第一个非正式见面版本
SimpleWebServer V0.1,轻量级 Web 应用服务器
最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务