Skip to content

Latest commit

 

History

History
181 lines (134 loc) · 5.46 KB

README_CN.md

File metadata and controls

181 lines (134 loc) · 5.46 KB

开始使用  |  示例项目  |  贡献代码  |  捐赠  |  FAQ |  English

Build Status maven-central License @biezhi on weibo

Blade是什么?

Blade 是一款轻量级的MVC框架, 重新定义JavaWeb开发,它拥有简洁的代码,优雅的设计。

如果你觉得不错, 欢迎 Star / Fork, 谢谢 😊

特性

  • 轻量级, 代码简洁,结构清晰,更容易开发
  • 模块化(你可以选择使用哪些组件)
  • Restful风格的路由接口
  • 多种模板引擎支持
  • 支持以jar文件发布运行
  • 支持JDK1.6或者更高版本(JDK8写起来更爽)

概述

  • 简洁的:框架设计简单,容易理解,不依赖于更多第三方库。Blade框架目标让用户在一天内理解并使用。
  • 优雅的:Blade 支持 REST 风格路由接口, 提供 DSL 语法编写,无侵入式的拦截器。
  • 易部署:支持 maven 打成 jar 包直接运行。

快速入门

开始之前,首先 引入Blade的库文件

Maven 配置:

<dependency>
	<groupId>com.bladejava</groupId>
	<artifactId>blade-core</artifactId>
	<version>1.6.7-alpha</version>
</dependency>
<dependency>
	<groupId>com.bladejava</groupId>
	<artifactId>blade-embed-jetty</artifactId>
	<version>0.0.5</version>
</dependency>

或者 Gradle:

compile 'com.bladejava:blade-core:1.6.7-alpha'
compile 'com.bladejava:blade-embed-jetty:0.0.5'

编写 Main函数:

public static void main(String[] args) {
	$().get("/", (request, response) -> {
		response.html("<h1>Hello blade!</h1>");
	}).start(Application.class);
}

用浏览器打开 http://localhost:9000 这样就可以看到第一个Blade应用了!

API示例

public static void main(String[] args) {
	$().get("/user/21", getxxx);
	$().post("/save", postxxx);
	$().delete("/del/21", deletexxx);
	$().put("/put", putxxx);
}

REST URL参数获取

public static void main(String[] args) {
	$().get("/user/:uid", (request, response) -> {
		Integer uid = request.paramAsInt("uid");
		response.text("uid : " + uid);
	});
	
	$().get("/users/:uid/post/:pid", (request, response) -> {
		Integer uid = request.paramAsInt("uid");
		Integer pid = request.paramAsInt("pid");
		String msg = "uid = " + uid + ", pid = " + pid;
		response.text(msg);
	});
	
	$().start(Application.class);
}

表单参数获取

public static void main(String[] args) {
	$().get("/user", (request, response) -> {
		Integer uid = request.queryAsInt("uid");
		response.text("uid : " + uid);
	}).start(Application.class);
}

上传文件

public void upload_img(@MultipartParam FileItem fileItem){
	if(null != fileItem){
		File file = fileItem.getFile();
		String fileRealPath = "your upload file path!";
		nioTransferCopy(file, fileRealPath);
	}
}

配置文件路由

route.conf

GET		/					IndexRoute.home
GET		/signin				IndexRoute.show_signin
POST	/signin				IndexRoute.signin
GET		/signout			IndexRoute.signout
POST	/upload_img			UploadRoute.upload_img

路由拦截

public static void main(String[] args) {
	$().before("/.*", (request, response) -> {
		System.out.println("before...");
	}).start(Application.class);
}

这一切看起来多么的简单,不过上面的功能可是冰山一角,查看文档和示例项目有更多惊喜:

更新日志

更新日志

联系我

贡献

非常感谢下面的开发者朋友对本项目的帮助,如果你也愿意提交PR,欢迎你!

开源协议

请查看 Apache License