轻量级javaweb开发框架eweb4j作者赖伟威专访 -九游会j9官网ag登录入口

2012-12-04  编辑 wangguo 评论(42条) 有48886人浏览
eweb4j 是一款基于 servlet/jdbc 构建的轻量级 web 开发框架,它不仅融合了 ssh 的核心优点(全栈式),而且提供了诸如模块化、热加载、多数据源、restful等非常吸引人的特性。它小巧灵活,遵守约定优于配置的原则。目前 eweb4j 的。


github地址:

为了使大家对 eweb4j 有进一步的了解,本期我们采访了该框架的作者赖伟威。

iteye期待并致力于为国内优秀的开源项目提供一个免费的推广平台,如果你和你的团队希望将自己的开源项目介绍给更多的开发者,或者你希望我们对哪些开源项目进行专访,请告诉我们,发站内短信给或者发邮件到webmaster@iteye.com即可。

先来个自我介绍吧!

我叫赖伟威,网名“像风一样自由”,今年刚毕业,目前在一家深圳创业小公司工作,主方向是 java web。



我的邮箱是:l.weiwei@163.com
我的博客是:
我的微博是:

eweb4j 是什么?有哪些功能?

eweb4j 是一个基于 servlet/jdbc 构建的轻量级 java web 开发框架。它可以代替 ssh 来开发一个完整的 web 应用程序。专注于少侵入、少配置、松耦合架构风格的 web 应用程序开发。eweb4j 的目标是让 java web 开发更加简单。

github地址:

eweb4j的特点如下:

  • 约定优于配置,配置覆盖约定
  • pojo式的编程。再也不用 “被继承” 某个类,不用 “被实现” 某个接口
  • full-stack
  • restful (兼容jax-rs 部分实现)
  • mvc(路由规则/验证器/拦截器/文件上传下载/jsp、json、xml、freemarker、velocity等)吸收了play、struts、springmvc等框架的特点
  • simple ioc(setter注入,构造器注入,@ioc注解注入)
  • activerecord 支持
  • jpa标准下的多数据源、表关系、多表查询、分页、链式编程等,简单又实用的orm
  • jdbc模板、事务模板
  • k-v配置文件支持
  • 国际化支持
  • 日志支持
  • mvc\orm\ioc 各个模块自由开闭
  • 自定义扫描加载jar包

开发eweb4j的初衷是什么?毕竟已经有很多现成的框架了。

首先,我是从2010年开始开发此框架,那时候我还在读大二下学期,我们刚学习jsp/servlet/jdbc不久,还没接触其他框架。

记得那时候我们老师要求做一个简单的数据库应用——学生管理系统,用jdbc来实现。当时我在使用jdbc的时候感觉到重复的代码特别多(这一点所有初学者都应该感同身受吧),而我自己说实话有些封装强迫症,于是就自己把jdbc封装成一个微型框架,那时候取了个名字easydao(现在应该还能搜索到),还在我们学校的bbs论坛发布了。再后来,添加了servlet扩展,那时候开始接触到部分框架了,网上学习了不少它们的思想,觉得蛮有意思就想模仿着做一个,也许是那时候年少,于是一个新的轮子——eweb4j第一个版本就出来了。

后来不断地接触新的东西——struts、hibernate、spring、springmvc、nutz、simpleframework、jdonframework、grails、play等等。看到好多前辈都在说不要重复造轮子,那时候心里确实有些动摇,但是到现在还是坚持了下来。我这样想,造轮子没什么不好,我这么年轻,我既然喜欢这么做,我就这么做吧,何必想太多。

到现在,我开始寻找eweb4j与其他框架不同的特点,并且会为此一直努力下去!

与其他框架相比,eweb4j的优势或特点是什么?

  • 松耦合,解放程序员,再也不用“被实现”某个类,“被实现”某个接口,完全是pojo的编程。
  • 自定义加载哪些jar包
  • 未来的模块化

eweb4j的性能、扩展性如何?

关于性能,目前还没有具体的性能报告,期待大家的使用、测试和反馈。

关于eweb4j的扩展性,eweb4j可以:

  • 基于servlet/jdbc的薄封装,没有一级/二级缓存,没有懒加载
  • 可以自定义加载哪些jar包
  • 未来会支持模块化
还是比较容易扩展的。

谈谈eweb4j-slidbase!是如何实现的?

solidbase是一个使用eweb4j开发的基础功能平台。

演示地址:
github地址:



solidbase的实现:

  • 前端使用dwz jsp(感谢dwz的无私奉献)。
  • 后端使用 eweb4j 做底层框架,使用了mvc、orm、ioc、properties等功能。
  • 权限参考了rbac0 模型 rest架构风格思想来实现,可以自定义权限。
  • 功能模块包括但不限于菜单管理、部门管理、用户管理、角色管理、权限管理。

eweb4j目前的开发人员情况?目前的版本发布周期?

目前就我一人,已确定加入的有若干人,但都因为工作繁忙一直都是我一个人solo。

发布周期不确定,一般是几个月左右。

其他开发者如何交流、反馈、参与贡献?

可以通过qq群和github来交流、反馈,早期还使用google code。

qq群:216125802
github:
google code:

接下来打算写一系列的博客,作为eweb4j的开发文档。

eweb4j 采用什么开源协议?

eweb4j 采用 apache2.0 协议,对于商业使用没有什么限制。

eweb4j 未来的发展计划?

  • 完善文档,会专门写一系列博客
  • 模块化
  • 热部署
  • 完善jpa标准的支持
  • 完善jax-rs标准的支持
  • 将solidbase做成一个企业可用的cms
  • 大小: 98.9 kb
  • 大小: 55.6 kb
  • 大小: 61.7 kb
  • 大小: 12.7 kb
  • 大小: 33.6 kb
  • 大小: 101.1 kb
  • 大小: 25.4 kb


评论 共 42 条
42 楼 2014-08-04 15:55
期待你能更完善,感想更要敢做
41 楼 2013-05-28 18:25
zidafone 写道
有可以直接import到myeclipse的demo吗?


40 楼 2013-05-23 11:25
有可以直接import到myeclipse的demo吗?
39 楼 2013-04-16 22:40
vincentedlin 写道
过了一遍运用这个框架写的代理,感觉过于繁琐。
建议大于去看下spring mvc3,专注于业务的零配置、全注释的框架。

你好,本框架暂时还没对代理作支持哦
38 楼 2013-04-15 11:43
过了一遍运用这个框架写的代理,感觉过于繁琐。
建议大于去看下spring mvc3,专注于业务的零配置、全注释的框架。
37 楼 2013-03-15 08:59
楼主这种精神值的我们好好学习。
36 楼 2013-01-22 20:08
以下配置为啥不行?,驱动包都加了。



mssql2005




















35 楼 2013-01-22 17:23
大哥,不支持sqlserver 吗?
34 楼 lshhjxlj 2013-01-13 19:10
现在框架已经到了泛滥成灾的地步了,说实话听到“框架”两字就蛋疼啊!
33 楼 2012-12-28 07:38
欣赏有想法并努力实践的人。支持!
32 楼 2012-12-24 10:30
你大二 就开始写了啊,真厉害。你现在工作 多久了呢? 我现在 也想 写自己的东西,但是 老感觉,思路不清晰
31 楼 2012-12-20 13:17
amb_hbj 写道
经常报这个错,但不影响功能,望调整一下 呵呵,对了 现在支持sqlserver oracle数据库吗?:

警告: basicresourcepool: an idle resource is broken and will be purged.
java.sql.sqlexception: connection is invalid
at com.mchange.v2.c3p0.impl.c3p0pooledconnectionpool$1.testpooledconnection(c3p0pooledconnectionpool.java:224)
at com.mchange.v2.c3p0.impl.c3p0pooledconnectionpool$1.refurbishidleresource(c3p0pooledconnectionpool.java:147)
at com.mchange.v2.resourcepool.basicresourcepool$asynctestidleresourcetask.run(basicresourcepool.java:1396)
at com.mchange.v2.async.threadpoolasynchronousrunner$poolthread.run(threadpoolasynchronousrunner.java:368)
2012-12-20 10:42:51 com.mchange.v2.resourcepool.basicresourcepool$asynctestidleresourcetask run
警告: basicresourcepool: an idle resource is broken and will be purged.
java.sql.sqlexception: connection is invalid
at com.mchange.v2.c3p0.impl.c3p0pooledconnectionpool$1.testpooledconnection(c3p0pooledconnectionpool.java:224)
at com.mchange.v2.c3p0.impl.c3p0pooledconnectionpool$1.refurbishidleresource(c3p0pooledconnectionpool.java:147)
at com.mchange.v2.resourcepool.basicresourcepool$asynctestidleresourcetask.run(basicresourcepool.java:1396)
at com.mchange.v2.async.threadpoolasynchronousrunner$poolthread.run(threadpoolasynchronousrunner.java:368)

这个是c3p0的警告信息。
30 楼 2012-12-20 10:49
经常报这个错,但不影响功能,望调整一下 呵呵,对了 现在支持sqlserver oracle数据库吗?:

警告: basicresourcepool: an idle resource is broken and will be purged.
java.sql.sqlexception: connection is invalid
at com.mchange.v2.c3p0.impl.c3p0pooledconnectionpool$1.testpooledconnection(c3p0pooledconnectionpool.java:224)
at com.mchange.v2.c3p0.impl.c3p0pooledconnectionpool$1.refurbishidleresource(c3p0pooledconnectionpool.java:147)
at com.mchange.v2.resourcepool.basicresourcepool$asynctestidleresourcetask.run(basicresourcepool.java:1396)
at com.mchange.v2.async.threadpoolasynchronousrunner$poolthread.run(threadpoolasynchronousrunner.java:368)
2012-12-20 10:42:51 com.mchange.v2.resourcepool.basicresourcepool$asynctestidleresourcetask run
警告: basicresourcepool: an idle resource is broken and will be purged.
java.sql.sqlexception: connection is invalid
at com.mchange.v2.c3p0.impl.c3p0pooledconnectionpool$1.testpooledconnection(c3p0pooledconnectionpool.java:224)
at com.mchange.v2.c3p0.impl.c3p0pooledconnectionpool$1.refurbishidleresource(c3p0pooledconnectionpool.java:147)
at com.mchange.v2.resourcepool.basicresourcepool$asynctestidleresourcetask.run(basicresourcepool.java:1396)
at com.mchange.v2.async.threadpoolasynchronousrunner$poolthread.run(threadpoolasynchronousrunner.java:368)
29 楼 2012-12-19 10:57
我就觉得看着眼熟…貌似在哪见过…想想,好像是海大08软件的师兄…师兄大神啊。。。。。。
28 楼 2012-12-17 09:40
写软件不怕重复,功能重复的软件多得是,还不是继续有人写。
27 楼 2012-12-11 09:59
lintghi 写道
superhj1987 写道
所说的有点貌似在spring mvc中都具有了。不过还是很欣赏作者这种钻研的精神的。自己当初就没有坚持下载写完一个框架。

对啊. 作者花了很多心血在上面. ps: 其实都在注解形式的springmvc出来前, eweb4j就已经有相应的支持了.

很厉害,很励志。
26 楼 2012-12-10 21:07
superhj1987 写道
所说的有点貌似在spring mvc中都具有了。不过还是很欣赏作者这种钻研的精神的。自己当初就没有坚持下载写完一个框架。

对啊. 作者花了很多心血在上面. ps: 其实都在注解形式的springmvc出来前, eweb4j就已经有相应的支持了.
25 楼 2012-12-10 09:49
所说的有点貌似在spring mvc中都具有了。不过还是很欣赏作者这种钻研的精神的。自己当初就没有坚持下载写完一个框架。
24 楼 2012-12-06 18:32
youjianbo_han_87 写道
youjianbo_han_87 写道
的确很轻量级,下下来看看,然后再加一个缓存层就完美了。呵呵。

有跑起来它的示例程序 solidbase 吗?不管是从googlecode上,或者是git上下载的程序,运行都 java.lang.instantiationexception。

作者能否搞个完整的能运行的例子,而不是src搞个包,webapp又搞个包。


这里有1.9版本的下载,最新的还没发布所以只能从github获取自己build。
23 楼 2012-12-06 16:44
22 楼 2012-12-06 16:26
youjianbo_han_87 写道
的确很轻量级,下下来看看,然后再加一个缓存层就完美了。呵呵。

有跑起来它的示例程序 solidbase 吗?不管是从googlecode上,或者是git上下载的程序,运行都 java.lang.instantiationexception。

作者能否搞个完整的能运行的例子,而不是src搞个包,webapp又搞个包。
21 楼 2012-12-06 14:08
的确很轻量级,下下来看看,然后再加一个缓存层就完美了。呵呵。
20 楼 2012-12-06 14:02
学习,学习。。。
19 楼 2012-12-06 12:21
要追求快、约定大于配置,为什么不用python呢。
18 楼 2012-12-06 11:18
随便点了点,在一个表单里多选多个内容,然后点修改,弹出来页面内容的是最后选择的一个信息。但是如果我去掉其他的只剩下一个选项的时候,他并不是把选中的那个信息弹出来。而是弹出了我最后操作的一条,怪怪的。
17 楼 2012-12-05 20:28
bluedest 写道
不管怎么说,支持有想法的人。

[/quaote]
支持开源
16 楼 2012-12-05 20:27
bluedest 写道
不管怎么说,支持有想法的人。

15 楼 2012-12-05 16:51
o_o_0 写道
updatebyfields exception

修改下 数据库表 t_user 的 status字段类型为varchar
14 楼 2012-12-05 13:52
updatebyfields exception
13 楼 2012-12-05 12:19
怎么,例子介绍,很少呀!

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • spring适用于轻量级javaweb开发,是非常实用的工具包,

  • eweb4j 是一款基于 servlet/jdbc 构建的轻量级 web 开发框架,它不仅融合了 ssh 的核心优点(全栈式),而且提供了诸如模块化、热加载、多数据源、restful等非常吸引人的特性。它小巧灵活,遵守约定优于配置的原则。...

  • 资源名称:java web轻量级开发全体验内容简介:《javaweb轻量级开发全体验》共2篇(分为18章):基础篇、框架技术篇。全书内容遵循“循序渐进”的原则,逐步深入,理论联系实际,内容通俗易懂,涵盖了当前javaweb...

  • 轻量级java web整合开发入门:struts2 hibernate4 spring3

  • simple-framework使用文档​simple-framework是一种轻量级java web框架,可基于此框架进行简单的web开发。​本项目主要供学习交流使用,email:简介​simple-framework是基于原生servlet实现的一种轻量级java web框架...

  • 自己搭建轻量级javaweb框架之mvc以及ioc

  • autumn 是基于 java 语言的极速 web orm 框架,其核心设计目标是开发swift、学习简单、功能强大、轻量级、易扩展。 有效提高web项目的开发效率!为您节约更多时间,去陪恋人、家人和朋友 :) autumn有如下主要特点 ...

  • javaweb是基于 springboot2 layui2.5.6 thymeleaf shiro mybatisplus 研发的权限(rbac)及内容管理系统,致力于做更简洁的后台管理框架,包含系统管理、代码生成、权限管理、站点、广告、布局、字段

  • 轻松学javaweb开发之框架技术整合开发优秀ppt.pptx

  • 资源名称:深入理解javaweb开发技术:探索基于主流框架的最佳组合内容简介:《深入理解javaweb开发技术:探索基于主流框架的最佳组合》内容新颖、知识全面、讲解详细,可以帮助读者深入理解javaweb开发技术的基本...

  • 《java web轻量级开发全体验》共2篇(分为18章):基础篇、框架技术篇。《java web轻量级开发全体验》内容遵循“循序渐进”的原则,逐步深入,理论联系实际,内容通俗易懂,涵盖了当前java web开发所流行的众多开发...

  • blade 是一款追求简约、高效的 web 框架,让 javaweb 开发如虎添翼,在性能与灵活性上同时兼顾

  • 虽然目前有很多种javaweb应用开发框架,但play框架是一种新兴的框架,可以帮助开发人员高效的构建 web应用。本文详细介绍了play框架的使用,包括模型层、控制层、视图层和http路由等内容。通过本文的介绍,开发人员...

  • javaweb开发学习路线及java三大框架分享?共4页.pdf.zip

  • web开发应用框架介绍与比较,分为四章进行展示:django的python框架、jfinal框架、struts框架,以及最后章节对比与总结。末尾写出参考文献。 内容完整,图文表并茂,可用于javaweb讨论课展示。 文件仅供参考学习。

  • python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。python社区提供了大量的第三方库,如numpy、pandas和requests,极大地丰富了python的应用领域,从数据科学到web开发。python库的丰富性是python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,matplotlib和seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

  • stm32单片机fpga毕设电路原理论文报告基于ide硬盘的数字图像存储技术研究本资源系百度网盘分享地址

  • 适合rust入门。深入浅出,事无巨细,远胜市面上所有入门书。而且是免费的

  • vb语言vb房屋租凭管理系统毕业设计(源代码 系统)本资源系百度网盘分享地址

global site tag (gtag.js) - google analytics
网站地图