1. 介绍

轻量级、高性能、简洁优雅的 Web 框架。

基于 Java8 开发,为个人开发者打造的轻量级 MVC 框架, 你只需要创建普通的 Maven 工程即可完成一个简单的应用。

官网地址:https://lets-blade.com/

设计理念:https://lets-blade.com/docs/blade-design.html

2. 快速入门

2.1 创建工程

maven 构建,JDK 1.8 编译。

2.1.1 依赖引入

pom 依赖如下:

  1. <properties>
  2. <blade-mvc.version>2.0.9.BETA3</blade-mvc.version>
  3. </properties>
  4. <dependencies>
  5. <!-- mvc dependency -->
  6. <dependency>
  7. <groupId>com.bladejava</groupId>
  8. <artifactId>blade-mvc</artifactId>
  9. <version>${blade-mvc.version}</version>
  10. </dependency>
  11. </dependencies>
  12. <build>
  13. <finalName>hello</finalName>
  14. <plugins>
  15. <plugin>
  16. <artifactId>maven-compiler-plugin</artifactId>
  17. <configuration>
  18. <source>1.8</source>
  19. <target>1.8</target>
  20. <encoding>UTF-8</encoding>
  21. </configuration>
  22. </plugin>
  23. </plugins>
  24. </build>

2.1.2 运行类编写

  1. package com.example;
  2. import com.blade.Blade;
  3. public class Application {
  4. public static void main(String[] args) {
  5. Blade.of().get("/", ctx -> ctx.text("Hello World!")).start(Application.class, args);
  6. }
  7. }

2.1.3 启动看效果

启动应用后,即可用用浏览器访问:http://127.0.0.1:9000

2.2 创建路由

注册路由两种方式:

  • 使用 Blade 对象硬编码注册
  • 通过控制器来管理多个路由。

编写一个控制器,在你的 Application 所在目录之下,我们最好将它放在 controller 包中,看到名字也就知道是控制器了。

  1. @Path
  2. public class IndexController {
  3. @GetRoute("/")
  4. public String index(){
  5. return "index.html";
  6. }
  7. @PostRoute("/save")
  8. public void saveUser(@Param String username){
  9. System.out.println("username:" + username);
  10. }
  11. @PutRoute("/update")
  12. public void updateUser(@Param String username){
  13. System.out.println("username:" + username);
  14. }
  15. @DeleteRoute("/delete/:uid")
  16. public void updateUser(@PathParam Integer uid){
  17. System.out.println("delete user:" + uid);
  18. }
  19. }

四种路由中包含:

  • 访问路径
  • 请求方法
  • 具体执行的方法体

Blade 提供了四种请求方式:GET, POST,PUT, DELETE

2.3 静态文件

2.3.1 默认静态资源

Blade 默认设置了 staticassetswebjarsupload 文件夹皆为静态资源目录。 你也可以自定义设置某个目录,这里我们就使用 static 目录作为存储。

2.3.2 自定义资源目录

  • 通过编码设置:blade.addStatics("/zhuangbi")
  • 通过配置文件:mvc.statics=/zhuangbi

2.3.3 静态资源目录下的列表开启

  • 通过编码设置:blade.showFileList(true)
  • 通过配置文件:mvc.statics.list=true


2.3.4 webjars

静态资源以 jar 方式引入。

2.4 渲染视图

渲染模板的准则:

  • 所有的模板文件都存储在 resources/templates 目录下

你可以调用 Response 方法的 render 方法渲染或者返回一个 String 类型的视图路径。

  1. @GetRoute("/index")
  2. public void renderIndex(Response response){
  3. response.render("index.html");
  4. }
  5. @GetRoute("/index2")
  6. public String renderIndex(Response response){
  7. return "index.html";
  8. }