1 Star 0 Fork 93

肯德基爱吃什么 / HServer

forked from HServer / HServer 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 4.71 KB
一键复制 编辑 原始数据 按行查看 历史
黑小马 提交于 2022-04-12 15:24 . 版本更新

flat

如果对您有帮助,您可以点右上角 "Star" 支持一下 谢谢!

介绍

QQ交流群:1065301527

HServer是一个基于Netty开发的一个功能强大,资源丰富,开发灵活,轻量级,低入侵,高并发的新型Web开发框架.

最新央仓库统一版本

资源名 版本号
HServer版本 2.9.88
HServer-Beetlsql版本 3.3
HServer-Mybatis版本(1.0是原生mybatis,2.0开始mybatisPlus支持) 3.0
HServer-RPC 1.0
HServer-Maven 打包版本 3.0

资源菜单

资源名 地址
教程文档 点我
压测文档 点我
Redis使用案例 点我
MYSQL-BeetlSQL 使用案例 点我
MYSQL-NEO 使用案例 点我
插件源码 HServer-Maven-Plugin 点我
插件源码 HServer-BeetlSql-Plugin 点我
插件源码 HServer-Mybatis-Plugin 点我
插件源码 HServer-RPC-Plugin 点我
HServer版本查询 点我

特点

  • 简便易用5分钟即可掌握使用
  • 快速构建高效API
  • TCP层上直接构建
  • 支持HTTP/2.0
  • Restful风格路由设计
  • Cron定时器
  • Filter拦截器
  • 持久Queue队列
  • HOOK/AOP组件
  • Track链路跟踪组件
  • Web Socket功能
  • Mqtt WebSocketMqtt功能
  • 自定义协议
  • Proxy 自由处理
  • ApiDoc文档组件
  • 权限组件
  • Plugin组件自由扩展
  • HUM消息
  • 高性能
  • 高度自由度控制
  • 流量整形
  • Netty 原生响应支持自己扩展

原理与流程

原理

压测数据 DeePin 8h 16g i7-9700k

worker线程池 原理

默认配置50个业务线程池 原理

感受一个HelloWorld

1.建立一个maven项目,导入依赖

<dependency>
    <groupId>top.hserver</groupId>
    <artifactId>HServer</artifactId>
    <version>最新版</version>
</dependency>

2.建立一个java包,如 com.test

3.建立一个主函数

@HServerBoot
public class WebApp {
    public static void main(String[] args) {
        HServerApplication.run(WebApp.class,8888,args);
    }
}

4.建立一个控制器

@Controller
public class HelloController {

    @GET("/test1")
    public JsonResult test() {
        return JsonResult.ok();
    }
    
    @POST("/test2")
    public JsonResult b(HttpRequest request) {
        return JsonResult.ok().put("data",request.getRequestParams());
    }
    
    @RequestMapping(value = "/get", method = RequestMethod.GET)
    public JsonResult get() {
        return JsonResult.ok();
    }

    @RequestMapping(value = "/post", method = RequestMethod.POST)
    public JsonResult post(HttpRequest httpRequest) {
        return JsonResult.ok().put("data",httpRequest.getRequestParams());
    }
    
    /**
     * 模板测试
     * @param httpResponse
     */
    @GET("/template")
    public void template(HttpResponse httpResponse) {
        User user = new User();
        user.setAge(20);
        user.setName("xx");
        user.setSex("男");
        Map<String,Object> obj=new HashMap<>();
        obj.put("user",user);
//        httpResponse.sendTemplate("/admin/user/list.ftl", obj);
        httpResponse.sendTemplate("a.ftl", obj);
    }
}

5.运行主函数,访问8888端口即可

许可证

根据Apache许可证2.0版本("许可证")授权,为正常使用该服务,请确保许可证与本文件兼容。用户可通过以下链接获得许可证副本:

http://www.apache.org/licenses/LICENSE-2.0

Java
1
https://gitee.com/KenDeJiAiChiShiMe/HServer.git
git@gitee.com:KenDeJiAiChiShiMe/HServer.git
KenDeJiAiChiShiMe
HServer
HServer
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891