博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Easy Web Development Framework for Java
阅读量:7030 次
发布时间:2019-06-28

本文共 2821 字,大约阅读时间需要 9 分钟。

Easy Web Development Framework for Java

eweb4j 是一款基于servlet/jdbc构建的轻量级web开发框架,它不仅融合了SSH的核心优点(全栈式),而且提供诸如模块化、热加载、多数据源、RESTful等非常吸引人的特性。

它小巧灵活,并且遵守约定优于配置的原则。使用它进行java web开发将让您品尝到轻松快乐的编程感受。

  • 项目已经迁移到GitHub上
  • 目前最新稳定版本1.9,下个版本是1.9.1

特性列表

  • 超级轻量级,纯POJO式开发,无继承、无接口绑定
  • 约定优于配置,配置覆盖约定
  • Full-Stack
  • RESTful (兼容JAX-RS 部分实现)
  • MVC (URI-Mapping/上传下载/验证器/拦截器/JSP、Json、Xml、FreeMarker 视图 ...)
  • Simple IOC (setter注入,构造器注入,@Ioc注解注入)
  • ActiveRecord支持
  • ORM (部分兼容JPA注解/生成建表脚本文件)也支持XML配置
  • DAO (DAOFactory->InsertDAO/UpdateDAO/DeleteDAO/DivPageDAO/SearchDAO/DAO)
  • JDBC模板
  • 事务模板,可以嵌套事务
  • 配置文件支持 (key-value)
  • 国际化支持
  • 日志支持
  • MVC\ORM\IOC支持灵活开闭
  • SolidBase会不断的修补bug,也会添加一些新特性,请关注

Quick Start

  • 如果使用Maven的话,请在pom.xml添加下面这段依赖
 
org.eweb4j
 
eweb4j-all
 
1.9
  • 在${WebRoot}/WEB-INF/web.xml中添加一个filter
   
eweb4j-filter
   
org.eweb4j.mvc.EWebFilter
   
eweb4j-filter
   
/*
注意,这个filter里面启动了框架,如果不需要用到mvc,也就是说不需要做web这块的话,只想使用orm和ioc,可以把mvc关闭,然后在代码里通过下面这段来启动框架:
/*  完全可以到处start,呵呵,不会重复启动的。  不过决定于你的配置。在start.xml里配置*/String err = EWeb4JConfig.start();if (err == null){
    //框架启动成功    DAOFactory.getXXXDAO.doXXX//可以做数据库操作    IOC.getBean("BEAN_ID")//可以通过IOC取出对象    Map message = Props.getMap("PROP_ID")//可以获取某个properties文件的键值对配置信息    message.get("key");//自动识别支持国际化    String val = Props.get("key")//全局的配置}else{
    //框架启动失败,失败原因是:err}
新建一个包:org.eweb4j.hello 在该包新建一个 HelloWorldAction.java
package org.eweb4j.hello;public class HelloWorldAction {
        public String doHelloWorld(){
                                return "Hello World !";        }}
然后编译,部署到tomcat中,接着启动tomcat,打开浏览器输入:
http://localhost:{port}/{your_context}/hello-world
第一次打开的时候,框架因为需要初始化配置文件,因此会提醒一个错误,该错误会在页面显示出来,不需要担心,这时候,您所需要做的就是按一下刷新键,接下来便能看到传说中的:
Hello World !

社区支持

  • QQ群:216125802
  • 论坛:

关于作者

  • iteye博客:
  • 新浪微博:
  • 邮箱:l.weiwei@163.com
  • QQ: 493781187

开发指南

请移步

 

 


 

版本记录

版本 1.9

  • MVC控制器增加文件上传下载的支持,只需要声明File对象即可完成。
  • ORM增加生成建表Sql文件的支持。无需额外配置工作。
  • 几个DAO增加对Map的支持,使用map可以不需要写model类
  • MVC增加8个默认action,约定视图和URI-Mapping
  • 控制器属性若提供getter方法,则会作为视图渲染的一个数据模型。类似Struts2的ModelDriven但不需要继承来获得。
  • 除了使用属性getter方法作为视图模型数据外,还可以在Action方法参数里声明一个没有任何注解的Map model,它可可以作为视图模型数据,往里面放数据就相当于request.setAttribute一样的效果。
  • 改善Action跳转:return "action:xxx",之前是使用response.sendRedirect来实现的,但是这样的方式使得HTTP请求只能是GET方式的,如果要重定向到一个HTTP方法为POST或者PUT或者DELETE话,显然这样是无法满足需求的。于是,对 return "action:xxx"的处理方式改成:
return "action:xxx@PUT?name=weiwei&age=5";//符号@只能出现一次,框架不再采用response.sendRedirect的方式来处理,而是构建一个form表单:
 
 
 
 
//然后使用response.getWriter().print打印上面这段内容,从而实现模拟客户端的请求,这样就支持GET之外的请求了,还可以带参数。PS:如果指定的Action依然是GET的,则会采用redirect的方式执行,而不是表单的形式
将所有Sql的 "select ※" 修改为 "select xxx,xxx,xxx" Action方法名支持新的约定格式:
doUri1BindIdAndNameJoinUri2AtPostOrGetOrPutOrDelete

转载地址:http://berxl.baihongyu.com/

你可能感兴趣的文章
OAuth2.0学习(1-12)开源的OAuth2.0项目和比较
查看>>
Gitlab,这也就O了???
查看>>
2014 百度之星 1003 题解 Xor Sum
查看>>
基于Dragon Board410c 的智能机器人预研-语音识别及定位
查看>>
Linux中在主机上实现对备机上文件夹及文件的操作的C代码实现
查看>>
iOS 块的简单理解
查看>>
idea中如何配置git以及在idea中初始化git
查看>>
关于JQuery Class选择器的一点
查看>>
POJ3264 Balanced Lineup
查看>>
redis-cli 连接远程服务器
查看>>
emlog通过pjax实现无刷新加载网页--完美解决cnzz统计和javascript失效问题
查看>>
Python3 MySQL 数据库连接
查看>>
HTTP协议 结构,get post 区别(阿里面试)
查看>>
windows设置文件夹显示缩略图
查看>>
sublime 之 vitage/emmet
查看>>
代码管理(四)SVN和Git对比
查看>>
OpenJudge百炼习题解答(C++)--题4074:积水量
查看>>
python - hadoop,mapreduce demo
查看>>
mongodb常见管理命令
查看>>
1.7 以函数对象取代函数
查看>>