java web netty_基于Netty的非Servlet规范 JavaWeb框架及高性能 Java服务器

这是一个非Servlet规范的JavaWeb框架,利用Netty实现高性能服务器。框架简化了Servlet的路由注册,并支持session(内存或Redis存储)。内置Velocity模板引擎,支持RESTful路由、静态文件、命名空间路由、控制器、请求体处理、拦截器和数据绑定。目前框架正在完善中,寻求有兴趣的开发者合作。
摘要由CSDN通过智能技术生成

Bay

一个非Servlet规范的JavaWeb框架,包括一个基于Netty的高性能服务器.

##介绍 这是一个基于Netty实现的非Servlet规范的Web服务器,由于底层设计经验不足,所以实际上是完成了对Servlet对外接口的一层包装.此框架与Servlet的相同之处大概就这些.就Servlet注册路由的繁琐,本框架尽量简化了这部分体验,详情请参见用法部分.另外本框架支持session,但提供了两种配置方案:1.内存存储.适合小应用,在单机环境部署.2.Redis存储.可以实现简单的横向扩展,适合大型应用.已支持velocity模板引擎,可渲染页面. 此框架正在完善之中.希望有兴趣的朋友可以联系我,一起完善这个框架.

##用法 ###1.Start

import static com.bay1ts.bay.core.Bay.*;

public class HelloWorld {

public static void main(String[] args) {

//支持静态文件

staticResources("/static");

//支持RESTful路由,可使用java8 lambda表达式简化编码

get("/hello", (req, resp) -> {

return "World";

}

);

//支持基于命名空间的路由

NSRoute(

newNameSpace("/start",

//支持controller

NSGet("/a", Controller.serveA),

NSPost("/b", (req, resp) -> {

//支持 类似SpringMVC的 @requestbody 方式

Pojo pojo = req.requestBody(Pojo.class);

if (pojo == null) {

//停止处理,自定义response

halt(500, "something wrong");

}

//内置Gson,可返回

return pojo;

},

//支持命名空间嵌套

newNameSpace("/c",

//拦截器(/start/c/d/abc 等),request预处理

NSBefore("/*", (req, resp) -> {

//可用作验证授权

return null;

}),

//简单数据绑定

NSGet("/d/:name", (req, resp) -> {

return req.params(":name");

}

)

)

)

)

);

//启动服务器.需要写在最后 默认端口5677

listenAndStart();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值