论坛首页 Java企业应用论坛

造了个轮子,更新2.0版了:-),firefly一站式java web框架

浏览 14371 次
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-10-30   最后修改:2012-10-30

特性

 

  • firefly是一个高性能的web开发框架,Template engine,IOC、MVC framework,HTTP Server,Common tools,Log,Json parser等模块一应俱全。
  • 使用简单,无侵入。
  • 仅仅依赖jdk,完全不会引入第三方库,所有模块jar包一共500k左右。
  • 高性能,每个模块尽可能的做到最高性能,在我的macbook笔记本上上轻松跑达到3W+ req/s。
  • 完全开源,源码地址

主页

http://www.fireflysource.com

 

github: https://github.com/hypercube1024/firefly

google code: http://code.google.com/p/firefly/

 

HelloWorld

创建Controller

@Controller
public class IndexController {
@RequestMapping(value = "/document/?/?")
	public View document(HttpServletRequest request, @PathVariable String[] args) {
		request.setAttribute("info", args);
		return new TemplateView("/index.html");
	}
}

创建模版

<!DOCTYPE html>
<html>
<body>
${info[0]},${info[1]}
</body>
</html>

创建firefly配置

 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://code.google.com/p/firefly/beans"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="http://code.google.com/p/firefly/beans http://firefly.googlecode.com/files/beans.xsd">

	<component-scan base-package="com.firefly"/>
	<mvc view-path="/template" view-encoding="UTF-8"/>

</beans>

 

创建Log配置

 

firefly-system=INFO,/Users/develop/logs
firefly-access=INFO,/Users/develop/logs
 

创建Main函数

 

public class Bootstrap {

	public static void main(String[] args) throws Throwable {
		String projectHome = new File(Bootstrap.class.getResource("/").toURI()).getParent();
		String serverHome = new File(projectHome, "/page").getAbsolutePath();
		ServerBootstrap.start(serverHome, "localhost", 6655);
	}

}
 

启动main函数,访问 http://localhost:6655/document/pengpeng/1234,页面就会显示出pengpeng, 1234。

Template engine,IOC、MVC framework,HTTP Server,Common tools,Log,Json parser等模块具体使用可光顾 firefly主页

   发表时间:2012-10-30   最后修改:2012-10-31
firefly Template engine 支持if,else,switch,for,include等常用指令,使用起来比jsp还要简单。 原理和jsp类似,模板语言解释器生成java代码然后利用jdk的编译器api生成class,这种方式比直接解释执行性能好很多。

firefly http server是基于nio多路复用的高性能服务器,无缝与MVC、IOC框架集成,无需繁杂的部署和配置,直接运行main函数即可启动服务器。

firefly common tools里提供了很多很实用的工具,如:
  • 高性能的Json parser(比gson快4倍)
  • 高性能Pattern类(比正则快10-20倍),mvc中的url匹配就靠它了
  • HashTimeWheel,可以用来做定时器
  • 各种高效数据结构,ConcurrentLRUHashMap等等
  • 异步Log


firefly HTTP Server,Template engine, 和IOC、MVC框架的文档生成了pdf贴过来,更详细的可直接下载pdf文档啦 ^_^
0 请登录后投票
   发表时间:2012-10-31   最后修改:2012-10-31
对作者的开源精神表示感谢

不过目前我不会用到,如果做个小应用而性能要求高的,我会考虑的,毕竟几大框架性能还是令人忧虑的。
0 请登录后投票
   发表时间:2012-10-31  
支持一下,看起来很好啊,SSH就是太笨重了。话说还有一个国内的小SSH框架叫什么名字来着?四个字母的
0 请登录后投票
   发表时间:2012-10-31  
tufly 写道
支持一下,看起来很好啊,SSH就是太笨重了。话说还有一个国内的小SSH框架叫什么名字来着?四个字母的


多谢支持! SSH的思想挺好的,可是实现得太复杂了。所以偶决定自己造轮子 ^_^
0 请登录后投票
   发表时间:2012-10-31  
对了,是Nutz,有没有比较过?
0 请登录后投票
   发表时间:2012-10-31   最后修改:2012-10-31
tufly 写道
对了,是Nutz,有没有比较过?

Nutz功能很多并且有dao数据访问框架,但是Nutz没有自己实现模板引擎和HTTP服务器。 看过一些Nutz的源码,很多实现性能不佳。
0 请登录后投票
   发表时间:2012-10-31  
hypercube1024 写道
tufly 写道
对了,是Nutz,有没有比较过?

Nutz功能很多并且有dao数据访问框架,但是Nutz没有自己实现模板引擎和HTTP服务器。 看过一些Nutz的源码,很多实现性能不佳。


话说你写这个有没有“复制”nutz的部分代码?好奇问问,没恶意。
0 请登录后投票
   发表时间:2012-10-31  
cnyangqi 写道
hypercube1024 写道
tufly 写道
对了,是Nutz,有没有比较过?

Nutz功能很多并且有dao数据访问框架,但是Nutz没有自己实现模板引擎和HTTP服务器。 看过一些Nutz的源码,很多实现性能不佳。


话说你写这个有没有“复制”nutz的部分代码?好奇问问,没恶意。

没有哦,欢迎审查,呵呵。
0 请登录后投票
   发表时间:2012-10-31  
hypercube1024 写道
cnyangqi 写道
hypercube1024 写道
tufly 写道
对了,是Nutz,有没有比较过?

Nutz功能很多并且有dao数据访问框架,但是Nutz没有自己实现模板引擎和HTTP服务器。 看过一些Nutz的源码,很多实现性能不佳。


话说你写这个有没有“复制”nutz的部分代码?好奇问问,没恶意。

没有哦,欢迎审查,呵呵。


了然^^谢谢
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics