java web框架基础_blade - 简洁强大的javaweb框架

0c4b9726253b6268.png

weibo-%40biezhi-red.svgplug.svgblade.svg?branch=mastermaster.svg?style=svgblade.svg

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

Blade特性

简洁的MVC & 拦截器

REST风格API

注解方式开发

微内核IOC容器

实用工具类

模板引擎支持

支持JDK1.6+

内置Jetty启动

插件扩展机制

快速入门

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

com.bladejava

blade

x.x.x

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

Archetype Created Web Application

BladeFilter

blade.BladeFilter

applicationClass

blade.sample.App

BladeFilter

/*

第三步、编写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,这一切看起来多么的简单,查阅使用指南更多现成的例子供你参考:

更新日志

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

第一个稳定版本发布

开源协议

联系我

Mail: biezhi.me#gmail.com

Java交流群: 1013565

小钗有幸进入框架组做webapp的框架开发,并且基于框架的业务频道用于生产,各频道遍地开花,取得了不错的成绩, 但是,随着业务的快速迭代,框架为满足业务需求做了很多业务的事情,代码中也慢慢出现了坏味道,并且会发现有一些设计不合理的地方。 想在工作中做调整基本不可能,所依赖的第三方库搞掉也有很大的风险。这个时候小钗就萌生出开发出一套干净的轻webapp框架的想法,于是该框架便出现了。 诚然,此框架比不上Backbone,比不了anglarJS,甚至本身也会有一些问题,但是作为初步接触前端的同学,或者想在前端看到一些设计思想的同学,该框架还是有他一些优势。而且这个代码主要用于学习交流,我们带着看看不吃亏的想法,还是可以接触一下他的嘛!!!支持情况该框架是移动端框架,主要支持IOS6 、android4 框架发展第一期-MVC该框架第一期的目标是简单的webapp MVC的实现,现在也基本实现了,app支持hashChange与pushState两种方式做路由加载view,对此有兴趣的同学可以看看helloWord 关于app与页面级View的关系如下:第二期-通用工具框架第二期的想法是,完善本身一些通用的东西,比如UI组件或者简单的flip手势工具等,这里小钗不是专业的前端,就直接从线上将公司的CSS Down下来了,也用了他的Dom结构 但是,整个组件的扩展非常方便,有兴趣的同学看看UI一块的代码,UI的继承关系如下:第三期-ABTesting框架第三期目标是实现前端ABTesting方案第四期-ipad适配框架第四期的目标是一套业务代码,可以同时用于mobile与ipad第五期-Hybrid框架第五期目标是实现Hybrid交互适配,由于小钗本身不懂native开发所以此方案要靠后随机期-疑难杂症框架还会单开一个频道做一些疑难杂症处理,比如: ① fixed问题 ② 区域滚动问题 ③ app唤醒 ④ History路径问题等更多信息DEMO想简单看看demo的朋友请到:http://yexiaochai.github.io/blade/ 标签:blade
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值