一个用于 100% 使用 Java 创建 Web 服务器和构建 Web 用户界面的 Java 库。
- BlazingWebx 是一个 Java 库,旨在让您 100% 使用 Java 构建单页 Web 应用程序 (SPA),而无需直接编写 html 和 JavaScript。此目标是通过使用 Java 类来实现的,这些类组合在一起以创建优雅的用户体验,利用 HTMX 进行客户端和服务器通信,同时保持项目最小化。
- BlazingWebx 还旨在简化服务器端编程以及客户端和服务器之间传递数据的方式。
特征
- Web 服务器 API
- Web UI API(实现所有 HTML5 元素)
- 内置 HTMX API
- 静态内容服务器
- 支持最常用的 HTTP 方法
- 简单 Map 到 Json 的实现
- Java 哈希 API 的简单包装器
- Https 请求 API
- ORM API 实现
例子
您基本上创建了 2 个类。您的程序类包含您的 Java 入口点。此类注册您的服务器类。
1、Program.java
package example;
import blazing.Blazing;
public class Program { public static void main() { Blazing.createServer(HelloWorldServer.class); } }
|
接下来是服务器类。该库使用 Java 注释来查找用于路由路径和设置服务器的方法。2、HelloWorldServer.java
package example;
import blazing.Route; import blazing.WebServer; import blazing.JediResponse; import webx.*;
@WebServer("6900") @Static("/images") public class HelloWorldServer { @Initializer public static void init() { // NOTE: Space for loading/connecting server resources such as a database. }
@Destructor public static void deinit() { // NOTE: Close the db connections } @Get("/") public static void home(BlazingResponse reponse) { var page = new Html() .addChild( new Button("Click Me") .hxPost("/hello") .hxSwap("outerHTML") );
response.sendUiResponse(page); }
@Post("/hello") public static void hello(BlazingResponse response) { response.sendUiResponse(new P("Hello, world)); // Send a <p> Hello, world </p> } }
|
3、运行程序并访问https://localhost:6900或您选择的任何端口。您应该有一个带有文本的按钮Click me,如果您触发点击事件,文本Hello, World应该替换按钮。
为什么
- 消除与创建 Web 应用程序相关的复杂性。
- 通过将 UI 编写为代表组件的类来删除模板。通过继承可以创建新的组件。
- 尽量减少后端和前端之间的桥梁。
要求
- Java 21 或更高版本
- 你最喜欢的 IDE/文本编辑器
下载