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服务器相关推荐
- java websocket netty_基于netty实现的websocket
一.运行效果 二.Netty使用场景 1.高性能领域 2.多线程并发领域 3.异步通信领域 三.实现过程 ①.添加netty相关jar io.netty netty-all 5.0.0.Alpha1 ...
- Java Web 程序设计----基于SSM框架(正在更新中)
Java Web 程序设计----基于SSM框架 提示:主要用于个人学习.复习.查阅等. 文章目录 Java Web 程序设计----基于SSM框架 一.网页前端开发基础 HTML文档结构 提示:以下 ...
- voyage java_GitHub - yezilong9/voyage: 采用Java实现的基于netty轻量的高性能分布式RPC服务框架...
Voyage Overview 采用Java实现的基于netty轻量的高性能分布式RPC服务框架.实现了RPC的基本功能,开发者也可以自定义扩展,简单,易用,高效. Features 服务端支持注解配 ...
- java web前后台交互_前后端交互(javaweb)
前段后台交互的学习(Java web) 标签 : 前后端交互 Javaweb 下面介绍了一些关于交互的细节: 请求数据 前端提供请求数据. 在开发中,后台在查询数据库时,需要借助查询条件才能查询到前端 ...
- Java毕设项目基于的电商平台的设计与实现(java+VUE+Mybatis+Maven+Mysql)
Java毕设项目基于的电商平台的设计与实现(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilder ...
- Java Web学习总结(3)Servlet(二)
一,Servlet访问URL映射配置 由于客户端是通过URL地址访问web服务器中的资源,所以Servlet程序若想被外界访问,必须把servlet程序映射到一个URL地址上,这个工作在web.xml ...
- github项目的JAVA项目Ratel,基于Netty实现
基于Netty实现的命令行斗地主游戏,为划水摸鱼而生~ 首先确定自己本地已经配置Maven和JRE环境,并且保证git环境的搭建. 1.克隆github上的项目到本地(外网地址下载,可能会有点慢,不 ...
- java web分享ppt大纲 -- servlet容器简介
今天在公司分享了java web的ppt,把ppt大纲放在这里,希望可以帮助需要的人 servlet容器简介 定义 狭义上的,servlet容器为java Web应用提供运行时环境,负责管理servl ...
- Java Web学生成绩管理系统(JSP+Servlet+JDBC+Dao)
学完java web后,期末期间用所学知识写了一个简单的学生管理系统,现在有空整理分享下. 注意:本文章仅供参考和学习,源码和数据库设计在文章的底部,点击展开然后往下翻就可以找到,其实数据库就六张表, ...
最新文章
- 马云/牛根生经典语录
- nfs:client mount成功,但是进入目录时出现Permission denied
- 复旦大学计算机保研经历,#易保研#经验分享 | 个人经历分享,圆梦复旦大学!...
- ubuntu系统安装python hello_ubuntu 下python安装及hello world
- ArcGIS农村土地承包经营权辅助建库软件说明书
- 小程序容器在一体化在线政务服务平台中的应用
- 基于MATLAB的求解线性方程组(附完整代码和例题)
- Oracle甲骨文官网必须登录怎么办!!?
- mysql ansi sql标准_Mysql数据库隔离级别(ANSI SQL92规范,行锁,间隙锁)
- Tableau-旭日图(详细操作步骤)
- sql查询一个班级中男女各有多少人及总人数
- 程序员如何阅读英文资料
- 嵌入式程序员的几年的小心得
- COGS 827. [Tyvj Feb11] 网站计划
- 【POj1305】毕达哥拉斯三元组
- MOOG D634-319C
- Abaqus软件介绍
- 3COM 交换机端口的监听配置 ZT
- tablecloth 使用笔记
- 解决org.springframework.amqp.AmqpException: No method found for class [B
热门文章
- python自动投递简历_python模拟登录前程无忧,发送简历
- oracle分页数据,在Oracle中得到分页数据
- mysql存储过程大于小于_mysql5.0存储过程操作符知识_函数方法[Mysql学习]
- asp按钮跳转页面代码_重磅更新!全新Web编辑页面、编辑规则快速跳转、状态栏变色、富文本再次升级!...
- Android如何把 内容复制到剪贴板
- MYSQL问题解决方案:Access denied for user 'root'@'localhost' (using password:YES)
- 汉字转拼音---PHP
- ssh免密登录方法不生效?Authentication refused: bad ownership or modes for directory
- 图论算法》关于tarjan算法两三事
- iOS开发CoreAnimation解读之一——初识CoreAnimation核心动画编程