阅读更多
EWeb4J 是一款基于 Servlet/JDBC 构建的轻量级 Web 开发框架,它不仅融合了 SSH 的核心优点(全栈式),而且提供了诸如模块化、热加载、多数据源、RESTful等非常吸引人的特性。它小巧灵活,遵守约定优于配置的原则。目前 EWeb4J 的最新版本为 1.9.1


Github地址:https://github.com/laiweiwei/eweb4j-framework

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

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

先来个自我介绍吧! Top

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



我的邮箱是:l.weiwei@163.com
我的博客是:http://laiweiweihi.iteye.com
我的微博是:http://weibo.com/weiweimiss

EWeb4J 是什么?有哪些功能? Top

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

Github地址:https://github.com/laiweiwei/eweb4j-framework

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包
  • 同步发布一个在线演示项目SolidBase

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

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

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

后来不断地接触新的东西——Struts、Hibernate、Spring、SpringMVC、Nutz、SimpleFramework、JDONFramework、GRails、Play等等。看到好多前辈都在说不要重复造轮子,那时候心里确实有些动摇,但是到现在还是坚持了下来。我这样想,造轮子没什么不好,我这么年轻,我既然喜欢这么做,我就这么做吧,何必想太多。

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

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

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

EWeb4J的性能、扩展性如何? Top

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

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

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

谈谈EWeb4J-SlidBase!是如何实现的? Top

SolidBase是一个使用EWeb4J开发的基础功能平台。

演示地址:http://210.38.137.96/solidbase/main
Github地址:https://github.com/laiweiwei/eweb4j-solidbase



SolidBase的实现:

  • 前端使用DWZ+JSP(感谢DWZ的无私奉献)。
  • 后端使用 EWeb4J 做底层框架,使用了MVC、ORM、IOC、Properties等功能。
  • 权限参考了RBAC0 模型 + REST架构风格思想来实现,可以自定义权限。
  • 功能模块包括但不限于菜单管理、部门管理、用户管理、角色管理、权限管理。

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

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

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

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

可以通过QQ群和Github来交流、反馈,早期还使用Google Code。

QQ群:216125802
Github:https://github.com/laiweiwei/eweb4j-framework
Google Code:http://code.google.com/p/eweb4j/

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

EWeb4J 采用什么开源协议? Top

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

EWeb4J 未来的发展计划? Top

  • 完善文档,会专门写一系列博客
  • 模块化
  • 热部署
  • 完善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 条
12 楼 laiweiweihi 2012-12-05 10:10
Function 写道
第一次用servlet, 感觉超恶心, 直接struts2; 第一次jdbc, 超烦, 直接hibernate; 第一次SSH, 超啰嗦, 于是也有了 你的 想法,想做一个超级轻量的工具, 用拦截器 启动 action, 用 listener 启动容器,慢慢的 功能丰富了, 慢慢的 工具变框架了, 慢慢的框架更完善了, 慢慢的 感觉框架的功能太多了, 慢慢的 很多功能用不到了, 慢慢的觉得这个框架 太啰嗦了, 慢慢的又想做一个轻量级的 工具了.

控制好框架别让它膨胀
11 楼 Function 2012-12-05 09:45
第一次用servlet, 感觉超恶心, 直接struts2; 第一次jdbc, 超烦, 直接hibernate; 第一次SSH, 超啰嗦, 于是也有了 你的 想法,想做一个超级轻量的工具, 用拦截器 启动 action, 用 listener 启动容器,慢慢的 功能丰富了, 慢慢的 工具变框架了, 慢慢的框架更完善了, 慢慢的 感觉框架的功能太多了, 慢慢的 很多功能用不到了, 慢慢的觉得这个框架 太啰嗦了, 慢慢的又想做一个轻量级的 工具了.
10 楼 raojl 2012-12-05 09:20
我建议小伙关注并参与jfinal的项目,和你理念差不多,不过都不错!集中起来做精一款。
9 楼 貌似掉线 2012-12-05 08:40
geminiyellow 写道
貌似掉线 写道
那个。。我都大四了,还来得及吗?
顶微微大神。。

来得及,施主,苦海无边,回头是岸。

二代学金融,操纵牛与熊;屌丝学金融,体会啥叫穷。
二代学新闻,政府发言人;屌丝学新闻,熬夜累死人。
二代学金工,回家当股东;屌丝学金工,怒喝西北风。
二代程序员,除非是脑残;屌丝程序员,死时趴键盘。

这。。压力山大啊。。
8 楼 lintghi 2012-12-04 20:20
  
7 楼 geminiyellow 2012-12-04 18:48
貌似掉线 写道
那个。。我都大四了,还来得及吗?
顶微微大神。。

来得及,施主,苦海无边,回头是岸。

二代学金融,操纵牛与熊;屌丝学金融,体会啥叫穷。
二代学新闻,政府发言人;屌丝学新闻,熬夜累死人。
二代学金工,回家当股东;屌丝学金工,怒喝西北风。
二代程序员,除非是脑残;屌丝程序员,死时趴键盘。
6 楼 laiweiweihi 2012-12-04 17:07
vieri122 写道
支持一下。请问登录的用户名和密码是多少

solidbase/solidbase

PS:你可以注册一个账号的 就在登陆按钮的下方
5 楼 vieri122 2012-12-04 16:44
支持一下。请问登录的用户名和密码是多少
4 楼 laiweiweihi 2012-12-04 16:16
貌似掉线 写道
那个。。我都大四了,还来得及吗?
顶微微大神。。

肯定可以啦。
3 楼 laiweiweihi 2012-12-04 16:16
bluedest 写道
不管怎么说,支持有想法的人。

2 楼 貌似掉线 2012-12-04 16:00
那个。。我都大四了,还来得及吗?
顶微微大神。。
1 楼 bluedest 2012-12-04 15:35
不管怎么说,支持有想法的人。

发表评论

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

相关推荐

  • spring 轻量级Javaweb开发框架

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

  • 轻量级JavaWeb开发框架EWeb4J

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

  • 轻量级Java Web整合开发入门:Struts2+Hibernate4+Spring3.rar

    轻量级Java Web整合开发入门:Struts2+Hibernate4+Spring3

  • simple-framework:基于Servlet的轻量级JavaWeb框架的实现

    Simple-Framework使用文档​Simple-Framework是一种轻量级Java Web框架,可基于此框架进行简单的web开发。​本项目主要供学习交流使用,Email:简介​Simple-Framework是基于原生Servlet实现的一种轻量级Java Web框架...

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

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

  • autumn-framework:一款轻量级的JavaWeb框架

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

  • JavaWeb 后台开发框架

    JavaWeb是基于 SpringBoot2+Layui2.5.6+Thymeleaf++Shiro+MybatisPlus 研发的权限(RBAC)及内容管理系统,致力于做更简洁的后台管理框架,包含系统管理、代码生成、权限管理、站点、广告、布局、字段

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

    轻松学JavaWeb开发之框架技术整合开发优秀PPT.pptx

  • 深入理解JavaWeb开发技术:探索基于主流框架的最佳组合

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

  • Java_Web轻量级开发全体验

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

  • 基于 Java8 + Netty4 创造的轻量级、高性能、简洁优雅的Web框架

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

  • Javaweb开发学习路线及Java三大框架分享?共4页

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

  • Javaweb-讨论课PPT-Web开发应用框架介绍与比较

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

  • 计算机术语.pdf

    计算机术语.pdf

  • 包括缺陷和有限视场效应的Etalon模型 matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

  • 基于PLC和组态软件的智能停车场收费系统:电气控制与梯形图程序详解

    内容概要:本文详细介绍了基于PLC(可编程逻辑控制器)和组态软件的智能停车场收费系统的实现方法和技术细节。首先,文章概述了系统的总体架构,指出PLC用于控制停车场的电气设备,而组态软件则提供直观的操作界面。接着,深入解析了PLC梯形图程序的具体逻辑,包括车辆检测、闸门控制、收费计算等功能模块。此外,文章还讨论了接线图的设计原则和注意事项,如防止电磁干扰、确保系统稳定性的措施。最后,介绍了组态画面的设计思路及其优化方法,如动态显示车位状态、实时更新收费信息等。通过这些内容,读者能够全面了解智能停车场收费系统的内部运作机制。 适合人群:从事自动化控制、工业物联网、智能交通等领域的工作技术人员,尤其是对PLC编程和组态软件应用感兴趣的工程师。 使用场景及目标:适用于新建或改造停车场项目的规划与实施阶段,帮助工程师理解和设计类似的自动化控制系统,提高停车场管理效率和服务质量。 其他说明:文中提供了大量实际案例和技术细节,有助于读者更好地掌握相关技术和应对实际工程中的挑战。

  • MATLAB实现电-气-热综合能源系统耦合优化调度模型

    内容概要:本文详细介绍了利用MATLAB及其工具箱YALMIP和求解器CPLEX/Gurobi构建电-气-热综合能源系统耦合优化调度模型的方法。首先,文章描述了电网部分采用39节点系统进行直流潮流建模,气网部分则使用比利时20节点配气网,并对Weymouth方程进行了线性化处理,将非线性问题转化为线性规划问题。热网部分引入了热电联产(CHP)和电转气(P2G)设备,实现了热电耦合。通过模块化设计,代码能够灵活地添加新的能量存储或转换设备。实验结果显示,相比单一网络优化,三网耦合优化降低了12.6%的系统总成本,并显著改善了负荷峰谷差。 适合人群:从事能源系统优化研究的专业人士,尤其是熟悉MATLAB编程和优化理论的研究人员和技术人员。 使用场景及目标:适用于希望深入了解综合能源系统耦合优化调度机制的研究人员和技术人员。主要目标是掌握如何使用MATLAB搭建电-气-热耦合优化模型,理解各个子系统的数学建模方法以及它们之间的相互作用。 其他说明:文中提供了详细的代码片段和解释,帮助读者更好地理解和复现模型。此外,还讨论了一些实际应用中的注意事项,如求解器的选择、参数调优等。

Global site tag (gtag.js) - Google Analytics