发布于 2016-11-18 17:50:14 | 107 次阅读 | 评论: 0 | 来源: 网友投递
simplewebserver 基于 NIO 的 webserver
simplewebserver 是基于 NIO 的简单 web 服务器:简易,灵活,更少的依赖,更多的扩展。更少的内存占用
轻量级 Web 应用服务器 SimpleWebServer V0.1 发布了。
简易,灵活,更少的依赖,更多的扩展。更少的内存占用.能快速搭建Web项目。可快速运行在嵌入式, Android 设备上
V0.1
变更Cookie的生成机制,及使用request.getSession(),后才添加用于标示会话的Cookie
添加请求超时的设置参数
修复staticMapper会暴露静态的列表
变更Interceptor为单例
扩展对freemarker,添加了ClassLoaderTemplate的支持
添加到中央仓库
引入对 Https 的支持
1.实现对浏览器请求的处理,可以展示一些静态页面
2.支持文件上传,下载,cookie,json
3.路由请求配置
4.freemarker 模板
5.多线程支持
6.支持 https
package com.hibegin.http.server.test; import com.hibegin.http.server.WebServerBuilder; import com.hibegin.http.server.config.ServerConfig; import com.hibegin.http.server.util.ServerInfo; import com.hibegin.http.server.web.Controller; 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() { helloWorld(); } public void helloWorld() { getResponse().renderText("Hello world/v" + ServerInfo.getVersion()); } }
然后浏览器输入 http://localhost:6058
<dependency> <groupId>com.hibegin</groupId> <artifactId>simplewebserver</artifactId> <version>0.1.0</version> </dependency>
WebServer 默认端口为6058在conf/conf.properties中,或则通过代码的方式进行配置
使用FreeMarkerKit.init初始化模板文件根目录,FreeMarkerKit.initClassTemplate初始模板相对jar中的根目录
服务器上时建议打包为jar文件运行(推荐使用 maven,jar文件路径与conf文件夹同目录)
依赖的json和freemarker的jar都是非必须