java web netty_基于Netty的非Servlet规范 JavaWeb框架及高性能 Java服务器
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();
}
}
總結
以上是生活随笔為你收集整理的java web netty_基于Netty的非Servlet规范 JavaWeb框架及高性能 Java服务器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信里的微众银行是怎么回事
- 下一篇: 扎克伯格是机器人吗 看看网友收集的证据