Quantcast
Channel: OSCHINA 社区最新新闻
Viewing all articles
Browse latest Browse all 44787

SimpleWebServer V0.1,轻量级 Web 应用服务器

$
0
0

轻量级 Web 应用服务器 SimpleWebServer V0.1 发布了。

简易,灵活,更少的依赖,更多的扩展。更少的内存占用.能快速搭建Web项目。可快速运行在嵌入式, Android 设备上

Changelog

V0.1

  • 变更Cookie的生成机制,及使用request.getSession(),后才添加用于标示会话的Cookie

  • 添加请求超时的设置参数

  • 修复staticMapper会暴露静态的列表

  • 变更Interceptor为单例

  • 扩展对freemarker,添加了ClassLoaderTemplate的支持

  • 添加到中央仓库

  • 引入对 Https 的支持

基本功能

  • 1.实现对浏览器请求的处理,可以展示一些静态页面

  • 2.支持文件上传,下载,cookie,json

  • 3.路由请求配置

  • 4.freemarker 模板

  • 5.多线程支持

  • 6.支持 https

快速创建一个WebServer示例

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

Maven依赖

<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都是非必须


Viewing all articles
Browse latest Browse all 44787

Trending Articles