阅读更多

5顶
1踩

编程语言

原创新闻 点评Java full-stack框架

2006-09-11 01:32 by 见习编辑 robbin 评论(1) 有8529人浏览
2005年ruby on rails横空出世般的流行刺激了Java开源框架整合的大趋势,ruby on rails这个号称“full-stack”的框架能做的我们都能做,它就是整合的更好,省略了配置文件,提供了快速代码生成器,暂且不论ruby on rails本身,但是诸多Java开发人员把目光从只做好一件事情上面挪到了“提供最方便的full-stack框架”上面,因此我们可以看到整个Java开源社区雨后春笋般的出现了一批又一批的full-stack框架,Java社区的开源软件哲学已经修改为:“要做最方便好用的full-stack框架”,那么就让我们来一一细数这些full-stack框架吧:

一、RIFE
最老牌的Java full-stack框架,作者Geert Bevin颇为不屑ruby on rails,和ruby on rails作者DHH有过对骂的战斗经验,8月份RIFE发布了1.5版本,提供了更多更方便的功能和更加简化的开发。RIFE功能相当完善,在Continuations方面颇有独到之处,但是RIFE独辟蹊径,整个解决方案不与现有任何流行开源框架相同,采用RIFE需要一些勇气。

二、Grails
最像ruby on rails的Java full-stack框架,Grails即Groovy on rails的意思,采用Java动态脚本语言groovy来写程序,底层实现采用Hibernate/Spring/SpringMVC/JSTL,即groovy的脚本语言在运行期动态生成Hibernate/Spring的Java编译好的字节码。8月份Grails发布了最新的0.2.1版本,在可用性的道路上又向前进了一步。

三、JBoss Seam
最正宗的Java full-stack框架。JBoss Seam整合了EJB3,Hibernate3,JSF,JBPM等框架,主持大局者是Hibernate作者Gavin King,Seam提供了一个非常简化的完整框架。说Seam最正宗是因为Seam采用的EJB3,JSF等技术都是Java EE5规范的官方技术,可谓系出名门。

四、Trails
最强调领域模型驱动的Java full-stack框架。Trails是Hibernate,Spring和Tapestry框架的整合版本,鉴于Tapestry是一个组件驱动的Web框架。Trails非常强调以领域模型来驱动快速开发。这是一个值得Tapestry爱好者使用的Java full-stack框架。

五、Able
最不甘寂寞的Java full-stack框架。这是8月份刚刚发表的新框架,Able的作者是前Webwork,现Struts2.0的主开发人员Patrick Lightbody。Pat同学也是一个对ruby on rails颇为不屑的人,曾经和RIFE作者Geert Bevin一唱一和的对战过DHH。Pat一边忙于开发Struts2.0,一边不甘寂寞的推出了Able框架,这是一个整合了Webwork,Spring和iBATIS的框架,但是对Webwork进行了大幅度简化。

这些成型的full-stack框架,加上最经典的Java full-stack框架……Hibernate/Spring/Struts组合(或者Hibernate/Spring/Webwork组合),一夜之间,Java开源世界的full-stack框架如千树万树梨花开,让我们这些Java开发人员挑花了眼,有人说,选择太多,即是Java开发人员之福,也是Java开发人员之痛,如何挑选适合自己需要的框架,则成为Java开发人员必备的能力之一。

5
1
评论 共 1 条 请登录后发表评论
1 楼 meetyou930 2008-04-10 14:17
那appfuse算什么呢?

发表评论

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

相关推荐

  • JD_tencent_scf:低调使用,不要fork!尽量第一时间同步更新脚本。防止失联请收藏gitee备份地址:https

    已修复云函数部署错误问题,请同步最新脚本 注意!原来使用zero205/JD仓库的用户可不用重新创建仓库,替换原脚本的代码即可同步本仓库 1.,点击右上角铅笔图标 2.复制全部代码替换原代码 3.点击右边绿色Start commit,点击Commit changes,手动运行一次此任务即可 使用教程(不要fork!觉得有用的可以点个star :smiling_face_with_smiling_eyes:) Github Action 运行 (响应lxk大佬要求,删除AC教程) 腾讯云函数部署。 部署【推荐】。 elecV2P 环境变量使用说明 1.以京东CK为例,登录elecV2P后台(默认地址:127.0.0.1:80) 2.选择JSMANAGE,key填CookiesJD,下面空白处即value值按下面的格式填写,多账号以此类推,自行删减。 [ { "userName": "jd_5bbxxx414", "cookie":

  • Python报错TypeError: ‘str‘ object is not callable 解读

    错误表示我们试图将一个字符串对象作为函数进行调用,但实际上字符串并不是一个可调用的函数。通过检查代码中的变量名和确保正确处理字符串,我们可以解决这个错误。遵循良好的编程实践,包括使用正确的数据类型和明确的变量命名,也有助于减少这类错误的发生。

  • Fastjson 学习记录

    Fastjson 是一个 Java 库,可用于将 Java 对象转换为其 JSON 表示形式。它还可用于将 JSON 字符串转换为等效的 Java 对象。Fastjson 可以处理任意 Java 对象,包括您没有源代码的预先存在的对象。Fastjson 目标在服务器端和安卓客户端提供最佳性能提供简单的 toJSONString() 和 parseObject() 方法将 Java 对象转换为 JSON,反之亦然允许将预先存在的不可修改对象与 JSON 相互转换广泛支持 Java 泛型。

  • 关于错误:'str' object is not callable可能的原因之一

    今天用python3.6.4写代码的时候,试了一下下面的 代码 if __name__ == "__main__": input="I like Runboob" rw=ReverseWords(input) print(rw) 其中input原本是输入的函数,这里直接作为变量也是可以的,但是在 之后不管要输入什么,使用input的时候都会显示'str' object is not c...

  • win10计算机本地连接属性在哪里找,win10本地连接在哪?win10如何点击本地连接?...

    win10本地连接在哪?win10如何点击本地连接??win10系统与win7、winXP系统还是有点区别的,以至于不少网友会问win10本地连接在哪?win10如何点击本地连接?其实这两个故障很简单,但是如果你不熟悉的话,那就由小编来带你找到win10的本地连接吧,具体内容大家看以下文章。办法/步骤:1、开机后大家到达的是Metro界面,在该界面中打开“桌面”,进入桌面。2、到达桌面以后,是否是...

  • HTML让文字在图片上显示

    Html让文字在图片上显示的集中方式: 第一种方式是image 作为背景图片,即:background:url("......."); 例如如下代码块: 添加文字...添加文字...添加文字... 第二种方式是将img块与文字块(文字块采用span标签显示)放在同一个div 中,然后设置他们之间的位置,例如如下代码块: 添加文字

  • Fastjson官方再次披露严重漏洞,包括rocketmq、jeecg-boot等近15%的github开源项目受影响

    2022年5月23日,fastjson 官方发布安全通报,fastjson <= 1.2.80 存在反序列化任意代码执行漏洞,在特定条件下可绕过默认autoType关闭限制,可能会导致远程服务器被攻击,风险影响较大。OSCS开源软件社区对此漏洞进行收录,漏洞信息如下: 漏洞评级:严重 影响组件:com.alibaba:fastjson 影响版本:<= 1.2.80 更多漏洞详细信息可进入OSCS社区查看:https://www.oscs1024.com/hd/MPS-2022-11320

  • 【Android 应用开发】 FastJson 使用详解

    博客地址 :http://blog.csdn.net/shulianghan/article/details/41011605fastjson 源码地址 :-- GitHub :https://github.com/alibaba/fastjson ;-- 示例源码 :https://github.com/alibaba/fastjson/wiki/Samples-DataBind ;...

  • 用C语言编程,求下列分数序列的前20项之和:2/1+3/2+5/3+8/5+13/8+...

    /* 2020-5-6 19:15 作者:nyc 功能:求下列分数序列的前20项之和:2/1+3/2+5/3+8/5+13/8+... */ #include<stdio.h> int main(void) { int i, j; float top = 2, base = 1; float t, sum = 0; int times = 0; while(times+...

  • python3爬取图片

    对http://code.py40.com/42.html的爬虫代码进行改造,添加多线程,多进程下载,图片完整性判断,爬取百度图片分析 import multiprocessing import re import os import requests import time from multiprocessing import Process, Queue, cpu_count #使用P...

  • 定期清理服务器log的脚本

    删除文件命令:find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \;例子:find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;说明 将/opt/soft/log/目录下所有30天前带”.log”的文件删除。具体参数说明如下: find:linux的查找命令,用户查找指定条件的

  • IP地址、子网掩码、有效子网数、有效主机数

    简要介绍IP地址、子网掩码、主机数、子网广播地址等关系。

  • ASP.NET 启动和运行机制

    <h1 id="aspnet-core">ASP.NET Core</h1> <ul> <li><a href="#aspnet-core%E7%9A%84%E8%BF%90%E8%A1%8C%E6%

  • Qt 5.15长期支持版本正式发布

    Qt5最后一个大版本更新。

  • 华为交换机ACL限制telnet登入以及安全防护配置

    给交换机的telnet ftp等配置白名单,限制非法登入。 启用Telnet服务 &lt;HUAWEI&gt; system-view [HUAWEI] sysname Telnet_Server [Nxera-YC] telnet server enable 配置VTY用户界面的最大个数。 [Nxera-YC] user-interface maximum-vty 15 配...

  • AD16中敷铜与导线连接的方法

    问题: AD16中敷铜与导线连接,在对敷铜进行Repour操作后,往往会把连接的导线与该敷铜区域分割开,而这并不是我们想要的效果; 如图所示: 解决办法: 选中敷铜区域,右键选择Properties…,在Net Options一栏中, 下拉选择框中,由Pour Over Same Net Polygons Only 改为Pour Over All Same Net Objects, ...

Global site tag (gtag.js) - Google Analytics