blade - 简洁强大的javaweb框架

Blade

English

blade 是一个简洁强大的web框架,它内置了IOC管理,拦截器配置,REST API开发等众多主流web特性,集成了模板引擎,缓存插件,数据库操作,邮件发送等常用功能,简洁的源码值得你阅读和学习。如果你喜欢,欢迎Star and Fork

Blade特性

  • 简洁的MVC & 拦截器
  • REST风格API
  • 注解方式开发
  • 微内核IOC容器
  • 实用工具类
  • 模板引擎支持
  • 支持JDK1.6+
  • 内置Jetty启动
  • 插件扩展机制

快速入门

第一步、用maven构建一个webapp,加入blade的依赖,推荐获取最新版本

<dependency>
    <groupId>com.bladejava</groupId>
    <artifactId>blade</artifactId>
    <version>x.x.x</version>
</dependency>

第二步、在web.xml中配置Blade核心过滤器并设置你的初始化类,你也可以不配置(使用jetty启动)

<web-app>
    <display-name>Archetype Created Web Application</display-name>
    <filter>
        <filter-name>BladeFilter</filter-name>
        <filter-class>blade.BladeFilter</filter-class>
        <init-param>
            <param-name>applicationClass</param-name>
            <param-value>blade.sample.App</param-value>
        </init-param>
    </filter>

    <filter-mapping>
        <filter-name>BladeFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

</web-app>

第三步、编写App.java和路由文件,下面是一个示例

public class App extends BladeApplication{

    Logger logger = Logger.getLogger(App.class);
    @Override
    public void init() {
        // 设置路由、拦截器包所在包
        Blade.defaultRoute("blade.sample");
    }

}
@Path
public class Hello {

    @Route("/hello")
    public String hello() {
        System.out.println("hello");
        return "hello.jsp";
    }

    @Route(value = "/post", method = HttpMethod.POST)
    public void post(Request request) {
        String name = request.query("name");
        System.out.println("name = " + name);
    }

    @Route("/users/:name")
    public ModelAndView users(Request request, Response response) {
        System.out.println("users");
        String name = request.pathParam(":name");

        ModelAndView modelAndView = new ModelAndView("users");
        modelAndView.add("name", name);
        return modelAndView;
    }

    @Route("/index")
    public String index(Request request) {
        request.attribute("name", "jack");
        return "index.jsp";
    }

}

OK,这一切看起来多么的简单,查阅使用指南更多现成的例子供你参考:

Blade使用指南 (完善中…)

一些例子:https://github.com/bladejava

更新日志

v1.1.2

1. 优化sql2o支持
2. 去除blade-kit无用类
3. 添加邮件支持
4. 添加程序计时支持
5. 添加http网络请求支持

v1.1.0

1. 去除对外公开的多余方法展示
2. 添加`Blade.run()`方式运行jetty
3. 添加`Blade.register()`方法注册bean对象
4. 优化IOC对象管理
5. 优化底层IO
6. 简化插件扩展
7. 拦截器路由匹配分离
8. 修复jetty在多maven环境下运行bug
9. 添加初始化监听context
10. 优化文件上传
11. 优化路由匹配
12. 添加方法执行监测
13. 添加缓存支持

v1.0.0

第一个稳定版本发布

开源协议

Blade框架基于 Apache2 License

联系我

Mail: biezhi.me#gmail.com

Java交流群: 1013565

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-05 20:42:34

blade - 简洁强大的javaweb框架的相关文章

JavaWeb框架的基石

JavaWeb框架的基石(一) 初学JavaWeb开发,请远离各种框架,从Servlet开始. Web框架是开发者在使用某种语言编写Web应用服务端是关于架构的最佳实践.很多Web框架是从实际的Web项目抽取出来的,仅和Web的请求和响应处理有关,形成一个基础,在开发别的应用项目的时候则可以从这个剥离出来的基础做起,让开发者更关注具体的业务问题,而不是Web的请求和响应的控制. 框架很多,但套路基本类似,帮你隐藏很多关于HTTP协议细节内容,专注功能开发. 但对于一个初学者来说,过早的接触框架往

从零开始写JavaWeb框架(第一章节)

今天买的两本书到了,其中一本是<从零开始写JavaWeb框架> 因为是第一次用IDEA,期间遇到很多问题,比如:怎么在IDEA中配置tomcat,我是这样解决的: 在IDEA界面的右上角点击: 点击+,选择Maven 到了如下界面: 在Name中输入tomcat,在Command line中输入tomcat7:run,然后点击apply. 然后就可以运行了. 第一章节如下: pom.xml <?xml version="1.0" encoding="UTF-

C#:最简洁强大的代码生成器

这是我们项目中最常用,也是最强大的代码生成器,可以自动生成 存储过程,Model,DAL,BLL 多层的脚本. 第一步:配置config,设置连接的数据库 <?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings> <add name="DB" connectionString="server=172.1

一款简洁而强大的前端框架JQUery—动画效果及剪刀石头布小游戏

jQuery是什么? jQuery是一个快速.简洁的JavaScript框架,它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作.事件处理.动画设计和Ajax交互.它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作.事件处理.动画设计和Ajax交互. JQuery效果-隐藏和显示 .show()让隐藏的元素显示.效果为:同时修改元素的高度.宽度.opacity属性 .hide()让显示

Servlet---JavaWeb技术的核心基础,JavaWeb框架的基石(一)

初学JavaWeb开发,请远离各种框架,从Servlet开始. Web框架是开发者在使用某种语言编写Web应用服务端是关于架构的最佳实践.很多Web框架是从实际的Web项目抽取出来的,仅和Web的请求和响应处理有关,形成一个基础,在开发别的应用项目的时候则可以从这个剥离出来的基础做起,让开发者更关注具体的业务问题,而不是Web的请求和响应的控制. 框架很多,但套路基本类似,帮你隐藏很多关于HTTP协议细节内容,专注功能开发. 但对于一个初学者来说,过早的接触框架往往事倍功半!同样一个问题,换一种

【javaWeb框架整合】springmvc+mybatis+shiro+restful+Webservice+bootstrap+html5

开发报捷:增加Lucene搜索引擎功能 1. 创建.初始化索引.统一搜索入口.搜索结果展现--内容.标题高亮.关键词搜索 2. 高级搜索:高级搜索增加多入口查询(精确查询.模糊查询.前缀查询等),每页显示条数自定义.索引结果数据设置.选择索引文档类型等) 集成lucene搜索引擎: 1. 使用阿里巴巴Druid连接池(高效.功能强大.可扩展性好的数据库连接池.监控数据库访问性能.支持Common-Logging.Log4j和JdkLog,监控数据库访问) 2. 提供高并发JMS消息处理机制 3.

Material UI:非常强大的CSS框架

Material UI 是一款功能非常强大,界面却十分清新简洁的CSS框架,Material UI利用了Google的Material Design 全新设计语言,并且让每一个UI组件都变得非常独立,因此开发者使用Material UI也会比较简单.和Bootstrap类似,Material UI提供了很多常用的UI组件,除了最基本的菜单.按钮.滑动杆.进度条.单选框/复选框外,它还提供了一个非常有趣的日历组件,另外还提供了一些很有趣的图标. Material UI 的特点 组件很丰富,每一个组

一款简单而不失强大的前端框架——【Vue.js的详细入门教程①】

↓— Vue.js框架魅力 —↓ 前言   Vue.js 是一个构建数据驱动的 web 界面的渐进式框架.Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件.Vue 只关注视图层并且采用自底向上增量开发的设计. Vue.js作为一个后起的前端框架,借鉴了Angular .React等现代前端框架/库的诸多特点,取得了相当不错的成绩.Vue.js 自身不是一个全能框架——它只聚焦于视图层.因此它非常容易学习,非常容易与其它库或已有项目整合.另一方面,在与相关工具和支

强大的网络通信框架--第三方开源--volley

Android Volley是Android平台上很好用的第三方开源网络通信框架.使用简答,功能强大. Android Volley的库jar包Volley.jar放出来供大家下载使用,下载连接地址:Volley下载 下载后解压的volley.jar直接添加到项目的libs中就可以使用 使用代码如下: activity_main.xml: 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&qu