`
zyl
  • 浏览: 486317 次
社区版块
存档分类
最新评论

jsf之接触

阅读更多
    web 开发很多年了,从单纯的jsp 到struts,再到webwork,接着就是spring 的mvc。感觉jsp 的封装性,实在不怎么样。于是乎想到了组件化,以前的时候用过echo,现在是echo2,不可否认,echo的设计结构比较的不错,完全的面向对象化开 发,也没有了那些令人讨厌的jsp。不过实在受不了的就是echo的速度,echo2据说已经大幅改进,而且完全的实现了ajax。不过echo2毕竟受 关注度不是很广,还是决定放弃使用。   
    于是就开始接触jsf,经过一段时间的接触,基本上了解了其中的结构,总的感觉来说,有点失望。不过作为jsr标准,还是可以期待使用,毕竟支持度比较 广。为什么struts能够这么长期的生存下去,因为用的人太多了,而且其学习的成本也相应的比较低。不过要想完全搞懂jsf,还是需要花费一些时间的。    
    jsf目前的实现,官方的包括sun自身实现,目前的版本为1.2,据说是和jsp2.1共同推出的,做了很多的改进,最主要的方面就是el的变化,原先 的ValueBinding和MethodBinding都已经弃用。而且el已经作为jsr的标准了。用sun的实现,目前来说,还没有遇到什么不合适 的地方,至少在最新的tomcat和jetty上,我都跑通了。
    myfaces,是apach的实现,作为强有力的民间组织,apach的东东一向值得关注,最近也正在抓紧察看其api。smile一个不错的开源实现,主要的好处在于,可以用他直接舍弃jsp。直接用java去展示应用。   
    jsp一向是我心中的鸡肋,很想舍去,又不想舍去。jsp 的好处在于可以快速的开发,可以马上所见即所得。当然其灾难在于后期的维护,当然如果都使用标记库封装,这种成本会变小。然而标记库,也不是万能的,有些 东西还是很难封装。使用组件化的开发,可以让一些过程变得透明化,如果说web开发,直接离开了jsp,估计还是不行的。至少美工不懂java,只懂得 html和css。   
    一直以来希望能有一个框架,能够简化web的开发,能够像桌面开发来的那么畅快。   也许,java不能带来这种期待了,只能寄托于其他领域了。或许ror可以,或许.net可以。不过我还是习惯于java,习惯于标记库,习惯于jsp。
分享到:
评论
29 楼 jvincent 2007-07-03  
现在Eclipse3.3发布了,用了一下,对JSF的支持已经很好..Bean、导航的定义已经有了图形界面...代码的提示也已经很好...应该说JSF的开发工具已经具备..
28 楼 zyl 2007-05-10  
ltian 写道
zyl 写道
我已经彻底掉进了jsf的深渊,从来没有一个框架让我去花费那么多的时间去研究。从jsf规范到ri实现,到myfaces。到facelets,到ajax4tojsf,到richfaces,不知何处才是尽头。
不知道,作为一个初学者,要完全的掌握jsf,到底需要多长时间,个人感觉会是很长的时间。


JSF没有像各位说的那么复杂吧,我们团队在2004年6月从delphi转到Java,在8月末用一个月时间就学完JSF标准了,当时JSF1.1参考实现刚出来,国内没有任何资料,怎能说复杂呢?
我觉得JSF的思想和Delphi及其相似啊.
delphi form ----JSF view 他们都是根容器,所有的组件都在这个容器中存储.
至于事件产生的机理可比delphi的简单的多,掌握好生命周期,不懂得时候看看源码,就可以说学会了JSF,至于其他的都是JSF相关的,看需要而定了,不一定都要学.


当然,如果你只是想学着如何使用jsf,那么用不了1个礼拜的时间,就可以做一个demo出来,可后续的调试,以及和ajax的集成,如果发生错误,去跟踪,那么,后续的时间,会慢慢的增加。当然,我现在完全从源码的角度去分析,所以花费的时间更多了,而且对于一个框架来说,有那么多的应用,那么多的实现,不知道是好事情,还是坏事情。至少,如果,我使用tapestry,structs,我只需要很少的时间就可以快速的掌握,对比而言,jsf让我花费的时间那就多多了。
27 楼 zyl 2007-05-09  
我已经彻底掉进了jsf的深渊,从来没有一个框架让我去花费那么多的时间去研究。从jsf规范到ri实现,到myfaces。到facelets,到ajax4tojsf,到richfaces,不知何处才是尽头。
不知道,作为一个初学者,要完全的掌握jsf,到底需要多长时间,个人感觉会是很长的时间。
26 楼 JJYAO 2007-05-08  
林秋枫 写道
JJYAO 写道
qqeerr20012001 写道
不管怎样,JSF已经成了标准,大厂商还是会支持的


千万别以是否标准来做来评判JSF好坏.标准只是一个起点,JSF标准离成熟还有相当一段距离,在这期间,使用JSF一定要结合第3方扩展,比如Facelets,MyFace,ADF,Seam,Shale等.

我们只能期盼JSF2.0的标准的推出,以及它的RI(Reference Implementation)变的足够强大,以便能够构建一个完整的JSF应用,而不是现在的大家所说的"想用JSF,但是RI实现非常烂,你可以采用第3方实现".只有当RI实现完整包含了Facelets,MyFace,ADF等功能后,以及简化组件的扩展等等其他方面的提升后,JSF才能真正有机会被广泛使用.而目前,只能结合其它的扩展实现,才能发挥JSF的能量

我们在用ejb1.x的时候也在等待ejb2.0的推出。等到ejb2.0推出的时候,已经给很多人抛弃了


你想说明什么?JSF是下一个EJB?这样的类比意义不大。能够总结它们的优缺点才是关键
25 楼 liangguanhui 2007-05-08  
jsf还有很长的路要走,就像ejb,现在都3.0了,但接受程度还是不高
24 楼 林秋枫 2007-05-08  
JJYAO 写道
qqeerr20012001 写道
不管怎样,JSF已经成了标准,大厂商还是会支持的


千万别以是否标准来做来评判JSF好坏.标准只是一个起点,JSF标准离成熟还有相当一段距离,在这期间,使用JSF一定要结合第3方扩展,比如Facelets,MyFace,ADF,Seam,Shale等.

我们只能期盼JSF2.0的标准的推出,以及它的RI(Reference Implementation)变的足够强大,以便能够构建一个完整的JSF应用,而不是现在的大家所说的"想用JSF,但是RI实现非常烂,你可以采用第3方实现".只有当RI实现完整包含了Facelets,MyFace,ADF等功能后,以及简化组件的扩展等等其他方面的提升后,JSF才能真正有机会被广泛使用.而目前,只能结合其它的扩展实现,才能发挥JSF的能量

我们在用ejb1.x的时候也在等待ejb2.0的推出。等到ejb2.0推出的时候,已经给很多人抛弃了
23 楼 过儿oO 2007-05-08  
JSF感觉发展时间有点短,很多时候需要结合其他的技术才能完成一个功能,有的组件,只是放在那,里面的功能根本没有,但我估计它会越来越好的
22 楼 lendo.du 2007-05-08  
个人看好JSF的前景!
21 楼 JJYAO 2007-05-08  
qqeerr20012001 写道
不管怎样,JSF已经成了标准,大厂商还是会支持的


千万别以是否标准来做来评判JSF好坏.标准只是一个起点,JSF标准离成熟还有相当一段距离,在这期间,使用JSF一定要结合第3方扩展,比如Facelets,MyFace,ADF,Seam,Shale等.

我们只能期盼JSF2.0的标准的推出,以及它的RI(Reference Implementation)变的足够强大,以便能够构建一个完整的JSF应用,而不是现在的大家所说的"想用JSF,但是RI实现非常烂,你可以采用第3方实现".只有当RI实现完整包含了Facelets,MyFace,ADF等功能后,以及简化组件的扩展等等其他方面的提升后,JSF才能真正有机会被广泛使用.而目前,只能结合其它的扩展实现,才能发挥JSF的能量
20 楼 qqeerr20012001 2007-05-08  
不管怎样,JSF已经成了标准,大厂商还是会支持的
19 楼 heyujava 2007-05-07  
可以,我也喜欢JSF
18 楼 oksonic 2007-04-12  
JSF很不错的,只是开始学起来不太容易。
17 楼 slaser 2007-04-11  
lgx522 写道
简单、模式化的页面(比如CRUD)用框架方便,尤其是JSF。
复杂的页面还是用JSP来得直接。

其实说实在的,做Web层还是纯脚本来得快,尤其是asp、php,可惜结构混乱,大了之后难维护管理。
结构化高的东西,像Java的Web框架,适应大项目,但Web层始终是不灵活。这一点包括ASP.NET也好不到哪里去。

所以说,规范性与灵活性,这是一对矛盾。

一些B/S的企业应用主要就是一些模式化的页面堆砌而成。主要要求方便的录入和输出数据,这方面,jsf抽象出一些控件,比起直接写html和js还是快多了。比如说Tree,tab等,就算用了dojo之类框架也要考虑和服务器端的数据交互问题,jsf这类基于服务器端组件的设计把这种工作减到了最小。当然这样的缺点就是不灵活,扩展一个jsf控件也比较麻烦,任何东西都是2面性的。我还看好jsf,tapesry的另外一个原因是长远来看,我们并不一定要把这种技术只用于html,jsf和tapestry这类框架将来完全可以应用到任何界面语言,比如将来我们的网站不再通过html来给客户端界面,而是对ie提供xaml,对firefox提供xui,那么我只用在jsf里面写一次,由jsf框架来映射,比我们自己写2套不是节省了很多时间?
16 楼 zyl 2007-04-10  
lgx522 写道
简单、模式化的页面(比如CRUD)用框架方便,尤其是JSF。
复杂的页面还是用JSP来得直接。

其实说实在的,做Web层还是纯脚本来得快,尤其是asp、php,可惜结构混乱,大了之后难维护管理。
结构化高的东西,像Java的Web框架,适应大项目,但Web层始终是不灵活。这一点包括ASP.NET也好不到哪里去。

所以说,规范性与灵活性,这是一对矛盾。

很有同感
15 楼 lgx522 2007-04-10  
简单、模式化的页面(比如CRUD)用框架方便,尤其是JSF。
复杂的页面还是用JSP来得直接。

其实说实在的,做Web层还是纯脚本来得快,尤其是asp、php,可惜结构混乱,大了之后难维护管理。
结构化高的东西,像Java的Web框架,适应大项目,但Web层始终是不灵活。这一点包括ASP.NET也好不到哪里去。

所以说,规范性与灵活性,这是一对矛盾。
14 楼 coolyi88 2007-04-10  
正在使用、、
有些東東確實不咋的
13 楼 myali88 2007-04-10  
真是要让这些框架之争烦老4了....
12 楼 AvengerBevis 2007-04-10  
决定研究研究它了!
11 楼 littcai 2007-04-10  
糟糕的可视化,到最后还是直接写代码,很多属性不支持!除了结构化好一点,学习曲线、开发效率都高的吓人。还是坚持最简单的JSP,100年不变
10 楼 rockjava 2007-04-10  
引用
JSF只能算一个鸡肋。
大厂商妥协的产物而已。

为什么这么说呢?

相关推荐

    jsf学习必备——实用工具书

    学习JSF的过程中,你将接触到这些核心概念,并学会如何配置JSF应用、创建和管理Managed Beans、编写Facelets页面、实现AJAX功能、进行数据验证和转换。通过阅读"jsf学习必备——实用工具书",你将能系统地掌握JSF...

    jsf入门指南,网页版,特别适合新手学习,我刚接触jsf就是看得这个

    JavaServer Faces(JSF)是Java平台上的一种用于构建Web应用程序的服务器端框架。它提供了一种组件化的开发方式,使得开发者可以更容易地创建用户界面,处理用户交互,并与后端数据进行集成。以下是对JSF入门知识的...

    JSF精美登陆跳转,自定义数据验证

    - **页面设计**:通常,登录页面是用户与应用的第一接触点,因此设计需要吸引人且易于使用。JSF提供了一系列UI组件,如`h:inputText`(文本输入)、`h:password`(密码输入)和`h:commandButton`(提交按钮),可以...

    JSF框架使用part1

    在"JSF框架使用part1"的视频教程中,我们可能首先会接触到JSF的基本概念和架构。JSF框架由多个组件构成,包括Facelets、Managed Beans、EL(Expression Language)、Converters和Validators等。Facelets是JSF的默认...

    JSF教程 适合初学者

    本教程《JSF教程 适合初学者》针对的是对JSF不熟悉的开发者,特别是那些刚刚接触Web开发的人。教程中,我们将使用**MyEclipse**作为开发环境,这是一款强大的集成开发环境(IDE),对Java和JSF提供了良好的支持,...

    《JSF入门》简体中文版

    总之,《JSF入门》简体中文版是一份宝贵的教育资源,无论你是刚接触JSF的新手,还是希望巩固基础的开发者,都能从中受益。通过阅读和实践,你将能够熟练掌握JSF的基础概念和实际操作,为构建高效、可维护的Java Web...

    第7章 JSF转换器和验证器与实例程序

    在"JSF转换器和验证器"这一主题中,学习者将接触到如何配置和使用这两个组件,以及如何在JSF应用程序中进行错误处理和用户反馈。这包括在XHTML视图中声明转换器和验证器、在 Managed Bean 中定义业务逻辑,以及如何...

    sun jsf第一个程序

    本教程将深入讲解如何通过JSF实现一个简单的登录程序,这是初学者接触JSF时的典型起点。 在JSF中,我们通常会使用XML配置文件(faces-config.xml)来定义应用程序组件和导航规则,以及Java类(如Managed Beans)来...

    JSF教程合集

    在学习JSF的过程中,你将接触到以下几个关键知识点: 1. **Facelets**:JSF的默认视图技术,用于构建声明式UI,支持模板和组件的重用。 2. **Managed Beans**:JSF中的业务逻辑容器,用于存储和管理应用的状态。 3....

    MyEclipse JSF 快速入门中文版.doc

    每个步骤都提供了详细的指导,包括如何创建项目、配置环境以及处理国际化等关键环节,对于初次接触JSF的开发者来说,这是一个很好的起点。通过实践这个教程,开发者可以掌握使用MyEclipse进行JSF开发的基本技能,并...

    JSF入门精通超级好的教程

    ### JSF入门精通教程知识点概览 ...本教程全面覆盖了JSF的基础知识和高级特性,适合初次接触JSF的开发者。通过学习本教程,你可以掌握JSF的核心概念和技术,从而高效地开发出高质量的Web应用程序。

    JSF使用文档

    这份“JSF使用文档”对于那些刚开始接触JSF的开发者来说,将是一个非常有价值的资源。 JSF的核心概念包括以下几个部分: 1. **组件模型**:JSF提供了丰富的UI组件库,如按钮、输入框、表格等,这些组件可以直接在...

    JSF最佳入门

    JSF的事件处理机制是其强大功能之一。用户与UI组件交互时,JSF会触发相应的事件,这些事件可以由监听器处理。例如,表单提交时,可以设置一个监听器来处理提交事件,进行数据验证和业务处理。 数据验证在JSF中是...

    JSF入门基础

    此外,你还将接触到JSF的事件处理机制,例如使用`action`和`actionListener`属性来定义按钮的点击行为。 在文件"JSF1"中,可能包含了示例代码、教程步骤或练习项目,帮助你实践这些概念。你可以通过这个资源逐步...

    MyEclipse如何开发JSF[汇编].pdf

    对于初次接触JSF的开发者,这是一个很好的起点,同时,对于有Struts经验的开发者,文档也指出了JSF与Struts的相似之处,有助于快速上手。在遇到问题时,可以参考文档中的用户反馈部分获取帮助。

    JSF 帮助文档

    在**JSF的简单入门**中,我们首先会接触到JSF的核心概念: 1. **组件模型**:JSF的基础是组件树,其中每个元素(如按钮、文本输入等)都是一个可重用的组件。这些组件可以通过XML(Facelets)或JSP页面定义,并在...

    JSF+EJB示例

    这是一个jsf+ejb的入门级程序,对于刚开始接触这两门技术的人来说,会有很大的帮助。里面包含了,EJB的session bean和entity bean。同时,在JSF项目中使用EJB提供的借口来对底层数据进行操作。在JSF中,包括了对数据...

    jsf核心编程(第三版)英文版

    #### 首次接触Ajax - **Ajax介绍**:Ajax(Asynchronous JavaScript and XML)是一种在不重新加载整个页面的情况下更新部分网页的技术。 - **JSF中的Ajax支持**:JSF通过`<f:ajax>`标签提供了对Ajax的支持,使得...

Global site tag (gtag.js) - Google Analytics