`
icess
  • 浏览: 251214 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java web开发你选择谁? Struts,JSF,wicket?

    博客分类:
  • Java
阅读更多
现在用JSF开发web, 使用 Myfaces+Facelets+AJAX4JSF+RichFaces+JBoss Seam+Exadel Studio Pro (现在已经开源了 ) 可以说开发效率就很好了, 在页面设计时候,可以使用Dreamwear 来设计xhtml页面,然后吧动态标签替换为Facelets标签就可以了(如果购买个Dreamwear的Facelets tool 那么标签替换也可以省略了),可以有专业的UI设计师来开发页面,这不就是一直以来Java web业界所追求的吗?
对于AJAX来说, 使用AJAX4JSF可以不用写任何JS代码就可以实现AJAX功能,这不是Java web开发者需要的吗? 如果直接写AJAX组件,一些复杂的组件可能不是很容易写好,那么,在RichFaces开源的今天使用她不是让你更加喜欢AJAX吗?

在于DB整合中,你如果一直在抱怨为什么JSF没有实现一个集成框架呢, 那么JBoss Seam 1.2发布后,你还在犹豫甚么呢? JBoss Seam不但集成了EJB 3.0 和Hibernate 还集成了 JBPM, Portlet 等。 这难道不是JSF开发者乃至Java web开发者的福音吗?

在Struts 1.X走头无路 与Webwork 联姻变为Struts2的情况下, 看看各大软件以及相关服务厂商对JSF的支持,你还会继续学习Struts2吗?

当然,对于Java开发者来说,由于Java框架层出不穷,让开发者眼花缭乱,无所适从。为了快速的选择一个以后不后悔的技术,你应该如何选择呢? 很难选择,不好选择。

就像你去买靴子一样, 卖靴子的商人再鼓吹这靴子多么好, 你不亲自下脚试试,你会掏钱买吗?

所以,孰优孰劣,还得你自己试试后来判断。

多日没有来Javaeye 看看了, 今天搜索到几个JSF相关的帖子,看后有感而发, 希望大家拍砖。

PWT: 关于wicket,也是不错的一个框架 在wicket第一个版本发布的一周内,本人就下载了wicket,并研究了其demo和doc, 发现其模仿Swing的设计模式,还是不错的。但是不是标准,工具支持还不是很好,现在跟进还不知道前途发展如何。

说明:本文主要是有感而发,给想学习一个Java web框架还没有决定选择那个框架的新人一个参考。 对于已经掌握了一个or几个框架的同志,欢迎谈谈你的观点, 也给其他人更多的有意义的参考。
另外,本人毕业设计论文的翻译也基本完工。即日就将拿出来给大家批批,是一片名为 From Struts to JSF的论文,写于一年前。
分享到:
评论
24 楼 Tiwen 2007-03-29  
jacshan 写道
我是狂郁闷啊,以前我是学Spring和Webwork的,可是公司用的还是Struts1.1,晕死我了,我真的不想学啊,可是也没有办法啊,还的学过时的技术


用什么技术不是你说了算了,往往程序员与客户之间的矛盾就在你总想拿出高水准的设计和多元华的复杂功能,但客户不懂这些,实际往往他也不需要这些。过时的技术稳定了一代系统,难道你说我用新技术,绝对好用,这个升级量是你来做还是要别人来给你的提议买单!?


短期还是支持STRUTS1.x和STRUTS2.0
观望JSF,ROR
23 楼 jacshan 2007-03-29  
我是狂郁闷啊,以前我是学Spring和Webwork的,可是公司用的还是Struts1.1,晕死我了,我真的不想学啊,可是也没有办法啊,还的学过时的技术
22 楼 zhlmmc 2007-03-29  
icess 写道
zhlmmc 写道
国外论坛上关于这个的讨论已经很多很多很多很多了
JSF毋庸置疑会流行起来,时间问题而已
但JSF过于臃肿,看楼主列举的这一串吧:
Myfaces+Facelets+AJAX4JSF+RichFaces+JBoss Seam+Exadel Studio Pro新手不会害怕吗?
除非JSF的后续版本有大的改进,否则我是不会跟进JSF了,我被1.1搞怕了。
我现在选择Wicket,简单而优雅!
Wicket不需要拖拉式的开发,纯HTML和Java。
Dreamweaver已经足够了。


上面那一串说明甚么? 说明JSF的扩展性很强, 处处给高级开发者发挥的空间。 同时也说明JSF的支持很多。 推荐一篇文章:  菜鸟的跳板 牛人的乐园 JSF“通吃”秘笈 http://news.csdn.net/n/20070321/102199.html


也可以这么说,JSF本身什么都不是,必须得靠相关项目的支持才能用。。。这到底是好还是坏呢? 我觉得是把简单的问题复杂化,学习曲线太高,这么多不同项目的兼容性值得怀疑。ASP.NET为什么流行就是因为它简单!
21 楼 simohayha 2007-03-29  
客户说了算,客户要用什么就得用什么.
20 楼 cozone_柯中 2007-03-29  
还是需要什么就用什么好。
19 楼 Julien 2007-03-29  
我觉得在服务端搞JSF那种客户端事件监听就是在拿政府公告版发电影讨论串,是非常不合适的,服务端最成熟,最理所当然的职责是处理webwork那种抽象服务实现,而最应该投入精力去做UI设计器,去做界面的唯一地方只应该是在客户端,应该是AJAX。过个两年AJAX设计工具成熟了之后,AJAX+WEBSERVICE可能就可以结束这个混乱的战国局面了
18 楼 network-eagle 2007-03-29  
短时间内继续支持struts ..
17 楼 icess 2007-03-29  
shaucle 写道
Myfaces+Facelets+AJAX4JSF+RichFaces+JBoss Seam+Exadel Studio Pro新手不会害怕吗?

呵呵,俺喜欢...

其实,看着是一串,并不是很复杂,每个都针对一个特殊的应用。

MyFaces是JSF的一个很好的开源参考实现。当然你选择使用Sun的 也可以。
Facelets,是在表现层的一个扩展,可以让你更容易的设计UI和模版,如果你喜欢直接写JSP,这个你就不用使用了,这个当你不喜欢JSP的一个替代方案。用不用由你。
AJAX4JSF,专注于AJAX的用。如果你不喜欢AJAX,这个你也可以不用管了。 ^_^。
RichFaces是一些AJAX的组件库,上面的用不着,这个当然也用不着咯。
JBoss Seam是一个JSF和其他技术的集成框架,具有很多简化JSF开发的设计。当然学要学习一下才可以使用的好,如果你要先熟悉一下JSF,这个以后感兴趣在使用也可以哦。
Exadel Studio Pro是个不错的IDE,尤其对JSF的支持。 如果你喜欢使用Editor来编辑代码,这个当然也省略了。

综上所述,只有Myfaces是必须的。 当然要运行web程序还要一个还没有提及的服务器(例如Tomcat)。 看看 这其实也不复杂啊。当新手变为老鸟时,还有这么多关注高级特性可以选择。 新手还会害怕吗?
16 楼 chinafeng 2007-03-29  
个人还是喜欢JSF RI 1.2多一点
15 楼 shaucle 2007-03-29  
Myfaces+Facelets+AJAX4JSF+RichFaces+JBoss Seam+Exadel Studio Pro新手不会害怕吗?

呵呵,俺喜欢...
14 楼 hideto 2007-03-29  
Struts/JSF等在开发效率上肯定不如Grails等类似的Java ROR框架
13 楼 小嘴看世界 2007-03-29  
我一直还都是使用struts,struts2.0还没开始用
开源的框架多了让人感觉疲劳,知道什么是自己最需要的就行了
12 楼 zjlee 2007-03-29  
http://www.theserverside.com/tt/articles/article.tss?l=JSFTapestry
11 楼 andyandyandy 2007-03-29  
我还是用struts和tapestry好了
10 楼 icess 2007-03-29  
zhlmmc 写道
国外论坛上关于这个的讨论已经很多很多很多很多了
JSF毋庸置疑会流行起来,时间问题而已
但JSF过于臃肿,看楼主列举的这一串吧:
Myfaces+Facelets+AJAX4JSF+RichFaces+JBoss Seam+Exadel Studio Pro新手不会害怕吗?
除非JSF的后续版本有大的改进,否则我是不会跟进JSF了,我被1.1搞怕了。
我现在选择Wicket,简单而优雅!
Wicket不需要拖拉式的开发,纯HTML和Java。
Dreamweaver已经足够了。


上面那一串说明甚么? 说明JSF的扩展性很强, 处处给高级开发者发挥的空间。 同时也说明JSF的支持很多。 推荐一篇文章:  菜鸟的跳板 牛人的乐园 JSF“通吃”秘笈 http://news.csdn.net/n/20070321/102199.html
9 楼 weilh 2007-03-29  
短时间内,会用struts,其他框架要看情况
8 楼 icess 2007-03-29  
JJYAO 写道
一个人对某个框架的认识和偏爱会随着经历,以及周边环境的改变而改变。
在我看来,JSF/Taperstry/Wicket在技术上绝对超越传统的Model2框架,UI组件模型给Web开发带来的好处是显而易见的。在商业支持上,JSF显然是领跑者。总体来说,它比其他二个框架要有更大的优势和发展的空间。
现在阻碍JSF发展的因素主要是
1. JSF Specification发展缓慢
2. JSF本身并不是足够的成熟
3. 企业级应用遗留系统比较多,很难一下子切换技术
4. 开发人员对某些不熟悉技术的排斥性


正解。 由于JSF是在应对Struts的流行而仓促发布的1.0版, 当时bug很多,后来有发布1.1版,修补了部分bug,但是有些问题还是没有处理好, 现在1.2版发布了,才使JSF稳定了很多。 可以开源厂商和第三方厂商对JSF 1.2的跟进还很慢。
7 楼 jamesby 2007-03-29  
正在研究tapestry,个人觉得tapestry和wicket是比较有前景的。
6 楼 JJYAO 2007-03-28  
一个人对某个框架的认识和偏爱会随着经历,以及周边环境的改变而改变。
在我看来,JSF/Taperstry/Wicket在技术上绝对超越传统的Model2框架,UI组件模型给Web开发带来的好处是显而易见的。在商业支持上,JSF显然是领跑者。总体来说,它比其他二个框架要有更大的优势和发展的空间。
现在阻碍JSF发展的因素主要是
1. JSF Specification发展缓慢
2. JSF本身并不是足够的成熟
3. 企业级应用遗留系统比较多,很难一下子切换技术
4. 开发人员对某些不熟悉技术的排斥性
5 楼 SunMicro 2007-03-28  
如果只是题目上的三种的话,struts是首选,当然Webwork也不错,主要的是学习成本比较底。其他两种接触比较少,新版的struts,也就是所谓合成版还没使用,短时间内还是支持struts,

相关推荐

    Java Web层框架之比较—比较JSF、Spring MVC、Stripes、Struts 2、Tapestry和Wicket.doc

    本文将深入对比六种流行的Java Web层框架:JSF、Spring MVC、Stripes、Struts 2、Tapestry和Wicket。 **JavaServer Faces (JSF)** JSF作为Java EE的一部分,拥有广泛的支持和市场需求。它的优点在于快速上手和丰富...

    8种Java Web框架安装手记及HelloWorld

    本文将详细介绍8种流行的Java Web框架,包括Grails、GWT、JSF、Play、Spring、Struts、Vaadin和Wicket。 1. **Grails** Grails是一个基于Groovy语言的开源框架,它提供了快速开发Web应用的能力。安装Grails时,需...

    java web 开发详解

    Java 的 Web框架虽然各不相同,但基本也都是遵循特定的路数的:使用Servlet或者Filter拦截请求,使用MVC的思想设计架构,使用约定,XML或 Annotation实现配置,运用Java面向对象的特点,面向抽象实现请求和响应的...

    Matt Raible对各种Java Web层比较

    在Matt Raible的分享中,他对比分析了几种流行的Java Web层框架,包括JSF、Spring MVC、Stripes、Struts2、Tapestry和Wicket。 #### 三、各框架优缺点分析 1. **JSF (JavaServer Faces)** - **优点**: - Java ...

    Comparing Java Web Frameworks.pdf

    本文档将详细介绍并对比六种主流Java Web框架:JSF、Spring MVC、Stripes、Struts2、Tapestry以及Wicket。 #### 议程概览 - **介绍** - **优缺点分析** - **适用场景** - **框架间的比较** - **结论** - **问答环节...

    Java Web层框架比较.docx

    Java Web层框架是开发Web应用程序的关键工具,它们简化了服务器端逻辑与用户界面之间的交互。在Java领域,有许多流行的框架可供选择,每种框架都有其独特的优点和缺点。以下是关于JSF、Spring MVC、Stripes、Struts ...

    Struts2 in action 中文版.pdf

    《Struts2 in Action》是一本深入探讨Struts2框架的权威著作,中文版的发布使得国内开发者能够更方便地理解和应用这一强大的Java Web开发框架。Struts2是Apache软件基金会旗下的一个开源项目,它是MVC(Model-View-...

    基于SSH的web开发

    在Web显示层框架的选择上,有多种选项如JSF、Spring MVC、Stripes、Struts1.x、Struts2.0、Tapestry、Wicket、Flex、GWT、Seam、Ext等。选择哪个框架取决于项目的特性,如是否需要富客户端交互、对Ajax的支持程度、...

    apache-wicket

    2. **Wicket与其它组件框架的对比**:文档中提到Wicket与其他组件框架的对比,这暗示了Wicket的设计和特点与其他流行的框架如JSF(JavaServer Faces)、Struts或者Spring MVC存在差异。了解这些差异有助于开发者根据...

    JAVA各种系统框架图简介

    在Java开发领域,框架是构建复杂应用程序的基础结构,它们提供了预定义的模式和最佳实践,以简化开发过程。本文将对几种常见的Java系统框架进行简要介绍,帮助开发者更好地理解和选择适用的技术栈。 1. **Spring...

    JAVA框架对比(author:Matt raible)

    描述:本资源由Matt Raible提供,深入比较了六个主要的Java Web框架:JSF、Spring MVC、Stripes、Struts2、Tapestry和Wicket,旨在帮助开发者根据项目需求选择最适合的框架。 知识点: 1. **JSF (JavaServer Faces...

    SSH框架ppt文件

    在选择Web框架时,除了SSH,还可以考虑JSF、Spring MVC、Stripes、Struts2.0、Tapestry、Wicket、Flex、GWT、Seam等,每种框架都有其特性和适用场景。例如,Spring MVC与Spring框架深度集成,提供了更强大的功能;而...

    framework:类似Struts的Web框架

    "framework:类似Struts的Web框架"这个标题暗示了我们将讨论一种与Apache Struts类似的框架,Struts是Java EE领域中广泛使用的开源MVC(Model-View-Controller)框架。 Struts框架的核心特性包括: 1. **MVC架构...

    seam-javapolis2007

    - **观点态度**:两人都对 Java 框架和 Web 技术有强烈的意见,并且享有充分的自由来做出技术选择。 ##### 技术背景 - **Struts**:Struts 曾经非常流行,但随着时间的推移,其局限性逐渐显现。 - **Seam 作为 ...

    MyEclipse所需用的所有jar包

    例如,对于Web开发,MyEclipse可能会包含Struts、JSF、Wicket等框架的jar包。 "绝对可用!!!"这个标签表明这些jar包是经过验证的,可以确保在MyEclipse环境中正常工作,减少了开发者配置环境时可能出现的问题。 ...

    J2EE页面框架-几十种样式

    在J2EE(Java 2 Platform, Enterprise Edition)开发中,页面框架扮演着至关重要的角色。页面框架是一种软件设计模式,它提供了一种组织和管理Web应用用户界面的方法,简化了开发过程,提高了代码的可重用性和可维护...

    Maven 的41种骨架功能介绍

    Struts2是一个流行的Web开发框架,它与Spring和Hibernate的结合使得开发人员能够构建出高性能的企业级应用。 #### 4. internal->appfuse-basic-tapestry 这个骨架用于创建基于Hibernate、Spring和Tapestry4的Web...

    J2EE程序员需掌握的技术

    在IT行业中,J2EE(Java 2 Platform, Enterprise Edition)是企业级应用开发的重要标准,涵盖了一系列技术和框架。作为一名J2EE程序员,你需要掌握以下关键领域的知识: 1. **Web开发框架**: - JSF(Facelets,...

    spring-framework-4.2.4.RELEASE.rar

    - **JSF、Struts、Wicket等Web框架的集成**,增强这些框架的功能。 - **Quartz或Spring定时任务**,用于计划执行任务。 - **JMS、AMQP消息队列集成**,支持异步通信。 6. **源码分析**: Spring源码是学习框架...

    Spring面试总结2013

    b) Spring MVC虽然高效,但并非适用于所有Web开发场景,有其他框架如Struts 2、Wicket和JSF等作为替代选择,且Spring可以与这些框架良好集成。 c) XML配置文件可能会变得复杂,但Spring通过注解和Java配置可以减轻...

Global site tag (gtag.js) - Google Analytics