欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

新一代Java Web开发框架JSF访谈实录(1)(4)

来源: javaer 分享于  点击 45664 次 点评:230

网友问答实录

cool:做那类网站最合适使用JSF开发?

麻地河: 如果要分类的话, 我觉得以数据为中心的网站比较适合JSF开发. 与这个相对的, 是以用户体验为中心的网站, 这样的网站用JSF去开发可能不合适, 至少目前阶段如此。

当然,随着支持Ajax的JSF组件的不断推出,JSF将来也可以适用这类应用。其实现在已经有一些Ajax-enabled的JSF组件了,我之所以说JSF更适合数据为中心的应用,是因为这种应用更能体现JSF的价值,换句话说就是简化开发。

piegon:现在JSF国内用的范围广吗?

麻地河: 应该说不是很广, 因为在国外, JSF广泛应用也不过是去年的事, 按照通常的惯例, 一项技术从国外到国内一般有一年的延迟, 因此, 我预计JSF明年下半年会在国内推广开来。至少一年的延迟 。

zp: 是不是应该把JSP学明白了再去学JSF啊?可不可以直接去学JSF?

麻地河: 完全可以直接学JSF,除非你要研究JSF框架,否则,JSF不需要太多的JSP知识。站在程序员的角度,JSF其实和普通Java桌面应用差不多,像事件啊,组件啊,这些都是在桌面应用中经常用到的,大家都懂。

当然,如果你懂JSP,对于理解JSF的运行机制,会有帮助。但这个问题要一分为二,如果你的思维太JSP了。那也可能阻碍你将想问题的方式转成JSF的方式。

vip: JSF跟Ajax等当今一些流行的技术集成的怎么样?JSF开发的项目好维护吗?

麻地河: JSF与Ajax的集成非常自然,这主要得益于JSF先进的技术架构。具体来说,有三种集成方式

第一是直接开发支持Ajax的JSF组件,在组件一级支持Ajax,这种方式主要靠第三方厂家推出支持Ajax的JSF组件包

第二是扩充JSF框架,在框架一级支持Ajax,这种方式下,普通JSF组件可以非常容易地加入Ajax特性

第三是在现有JSF组件的外层包装一个支持Ajax的外壳,是的普通JSF组件支持Ajax

项目的维护方面,如果你遵循三层体系结构,那么维护不是问题,就怕混淆层的划分,那样就会给维护带来很大的负担

ss007: JSF能不能胜任业务层的一些东西?还是比较简单的东西都需要交给其他的框架或者技术去做?

麻地河: 这里需要对JSF的定位有一个清醒的认识。按照官方定义,JSF是Java Web应用的表示层框架,也就是说,它的目标不是业务层。

三层体系结构是目前公认的软件设计最佳实践,对于大规模应用,我本人强烈推荐这种体系结构,以增加软件的灵活性,可扩充性和可维护性。

但是,现实情况是,我们经常有一些小规模应用,这样的应用,三五人一两月就要交货,因此,有时候,对于小规模应用,我们也允许打破层的划分。

因此,JSF也允许这样来使用。在NetBeans中,提供了数据提供器,可以直接通过JSF页面访问数据库,对于小型应用,这个特性是十分方便的。

当然,我还是要继续倡导三层体系结构,各位网友如果想在编程领域有所成就,就一定要往这个方向上走,对于Java Web,Sun的架构蓝图是JSF + EJB + JPA,大家不妨多了解一下这方面的知识。

  1. 细说框架风云 JSF能否拯救WEB江湖
  2. Java开发框架:深入分析JSF与Struts的异同
  3. Java开发框架调查:6%的JSF欲撼动21%的Struts


相关栏目:

用户点评