0 Star 0 Fork 175

tangluyou / blade

forked from hellokaton / blade 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

#Blade

简洁强大的JavaWeb框架

English

@biezhi on weibo Hex.pm Build Status Circle CI release

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

Blade特性

  • 简洁的MVC
  • RESTful
  • 多种路由配置方式
  • 微内核IOC容器
  • 实用工具类
  • 编码/JSON/配置文件
  • 模板引擎支持
  • 支持JDK1.6+
  • 插件扩展机制
  • 缓存支持

快速入门

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

<dependency>
	<groupId>com.bladejava</groupId>
	<artifactId>blade-core</artifactId>
	<version>1.2.6</version>
</dependency>

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

<filter>
	<filter-name>BladeFilter</filter-name>
	<filter-class>blade.BladeFilter</filter-class>
	<init-param>
		<param-name>applicationClass</param-name>
		<param-value>hello.App</param-value>
	</init-param>
</filter>

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

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

public class App extends BladeApplication{

	Logger logger = Logger.getLogger(App.class);
	@Override
	public void init() {
		// 注册函数式路由
		Blade.regRoute("/hello", SayHi.class, "hello");
		
		// 匿名路由,java8方式更简化
		Blade.get("/get", new RouteHandler() {
			@Override
			public String run(Request request, Response response) {
				System.out.println("进入get!!");
				System.out.println(request.query("name"));
				return "get";
			}
		});
	}
}

函数式路由

public class SayHi {
	
	public String hello(Request request, Response response){
		System.out.println("进入hello~");
		request.attribute("name", "rose baby");
		return "hi";
	}
}

注解路由

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

计划

1. 完善文档
2. 单用户博客系统
3. web聊天系统
4. 优化代码性能

更新日志

更新日志

开源协议

Blade框架基于 Apache2 License

联系我

OSC Blog:http://my.oschina.net/biezhi

Mail: biezhi.me#gmail.com

Java交流群: 1013565

空文件

简介

blade 是一个简洁强大的web框架,它内置了IOC管理,拦截器配置,REST API开发等众多主流web特性,集成了模板引擎,缓存插件,数据库操作,邮件发送,HTTP请求等常用功能 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/tangluyou/blade.git
git@gitee.com:tangluyou/blade.git
tangluyou
blade
blade
master

搜索帮助