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服务器相关推荐

  1. java websocket netty_基于netty实现的websocket

    一.运行效果 二.Netty使用场景 1.高性能领域 2.多线程并发领域 3.异步通信领域 三.实现过程 ①.添加netty相关jar io.netty netty-all 5.0.0.Alpha1 ...

  2. Java Web 程序设计----基于SSM框架(正在更新中)

    Java Web 程序设计----基于SSM框架 提示:主要用于个人学习.复习.查阅等. 文章目录 Java Web 程序设计----基于SSM框架 一.网页前端开发基础 HTML文档结构 提示:以下 ...

  3. voyage java_GitHub - yezilong9/voyage: 采用Java实现的基于netty轻量的高性能分布式RPC服务框架...

    Voyage Overview 采用Java实现的基于netty轻量的高性能分布式RPC服务框架.实现了RPC的基本功能,开发者也可以自定义扩展,简单,易用,高效. Features 服务端支持注解配 ...

  4. java web前后台交互_前后端交互(javaweb)

    前段后台交互的学习(Java web) 标签 : 前后端交互 Javaweb 下面介绍了一些关于交互的细节: 请求数据 前端提供请求数据. 在开发中,后台在查询数据库时,需要借助查询条件才能查询到前端 ...

  5. Java毕设项目基于的电商平台的设计与实现(java+VUE+Mybatis+Maven+Mysql)

    Java毕设项目基于的电商平台的设计与实现(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilder ...

  6. Java Web学习总结(3)Servlet(二)

    一,Servlet访问URL映射配置 由于客户端是通过URL地址访问web服务器中的资源,所以Servlet程序若想被外界访问,必须把servlet程序映射到一个URL地址上,这个工作在web.xml ...

  7. github项目的JAVA项目Ratel,基于Netty实现

    基于Netty实现的命令行斗地主游戏,为划水摸鱼而生~ 首先确定自己本地已经配置Maven和JRE环境,并且保证git环境的搭建.  1.克隆github上的项目到本地(外网地址下载,可能会有点慢,不 ...

  8. java web分享ppt大纲 -- servlet容器简介

    今天在公司分享了java web的ppt,把ppt大纲放在这里,希望可以帮助需要的人 servlet容器简介 定义 狭义上的,servlet容器为java Web应用提供运行时环境,负责管理servl ...

  9. Java Web学生成绩管理系统(JSP+Servlet+JDBC+Dao)

    学完java web后,期末期间用所学知识写了一个简单的学生管理系统,现在有空整理分享下. 注意:本文章仅供参考和学习,源码和数据库设计在文章的底部,点击展开然后往下翻就可以找到,其实数据库就六张表, ...

最新文章

  1. 马云/牛根生经典语录
  2. nfs:client mount成功,但是进入目录时出现Permission denied
  3. 复旦大学计算机保研经历,#易保研#经验分享 | 个人经历分享,圆梦复旦大学!...
  4. ubuntu系统安装python hello_ubuntu 下python安装及hello world
  5. ArcGIS农村土地承包经营权辅助建库软件说明书
  6. 小程序容器在一体化在线政务服务平台中的应用
  7. 基于MATLAB的求解线性方程组(附完整代码和例题)
  8. Oracle甲骨文官网必须登录怎么办!!?
  9. mysql ansi sql标准_Mysql数据库隔离级别(ANSI SQL92规范,行锁,间隙锁)
  10. Tableau-旭日图(详细操作步骤)
  11. sql查询一个班级中男女各有多少人及总人数
  12. 程序员如何阅读英文资料
  13. 嵌入式程序员的几年的小心得
  14. COGS 827. [Tyvj Feb11] 网站计划
  15. 【POj1305】毕达哥拉斯三元组
  16. MOOG D634-319C
  17. Abaqus软件介绍
  18. 3COM 交换机端口的监听配置 ZT
  19. tablecloth 使用笔记
  20. 解决org.springframework.amqp.AmqpException: No method found for class [B

热门文章

  1. python自动投递简历_python模拟登录前程无忧,发送简历
  2. oracle分页数据,在Oracle中得到分页数据
  3. mysql存储过程大于小于_mysql5.0存储过程操作符知识_函数方法[Mysql学习]
  4. asp按钮跳转页面代码_重磅更新!全新Web编辑页面、编辑规则快速跳转、状态栏变色、富文本再次升级!...
  5. Android如何把 内容复制到剪贴板
  6. MYSQL问题解决方案:Access denied for user 'root'@'localhost' (using password:YES)
  7. 汉字转拼音---PHP
  8. ssh免密登录方法不生效?Authentication refused: bad ownership or modes for directory
  9. 图论算法》关于tarjan算法两三事
  10. iOS开发CoreAnimation解读之一——初识CoreAnimation核心动画编程