HServer是一个基于Netty开发网络扩展库.使用插件方式来扩展我们的业务 HServer提供 web,gateway,rpc 等插件 同时用户也可以自定义插件,来完成各种各样的业务场景。
https://gitee.com/HServer/HServer
极简、高性能、扩展强
极简 代码只有几百KB
高性能 使用Netty网络库作为核心,比起传统的web容器性能高数十倍.
扩展强 预留了丰富的接口,以及netty直接自定义协议
建立一个maven项目,导入依赖
<parent>
<artifactId>hserver-parent</artifactId>
<groupId>cn.hserver</groupId>
<version>最新版本</version>
</parent>
<dependencies>
<!-- 核心依赖-->
<dependency>
<artifactId>hserver</artifactId>
<groupId>cn.hserver</groupId>
</dependency>
<!-- web框架 -->
<dependency>
<artifactId>hserver-plugin-web</artifactId>
<groupId>cn.hserver</groupId>
</dependency>
</dependencies>
<!-- 打包jar -->
<build>
<plugins>
<plugin>
<artifactId>hserver-plugin-maven</artifactId>
<groupId>cn.hserver</groupId>
</plugin>
</plugins>
</build>
建立一个主函数
建立一个java包,如 com.test , 建立一个主函数
@HServerBoot
public class WebApp {
public static void main(String[] args) {
HServerApplication.run(WebApp.class, 8888, args);
}
}
建立一个控制器
@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);
}
}
运行主函数,访问8888端口即可