谈JMS和JSF的使用

引言

IBM WebSphere Application Server 是基于 Java 的 Web 应用 服务器,它创建于开放标准之上,使您能部署和管理从简单 Web 站点到强大的电子商务解决 方案的各种应用程序。IBM WebSphere Studio Application Developer(下文中简称为 WebSphere Studio)是一个集成开发环境,可以用来构建、测试、部署 J2EE 和 Web Services 应用程序。更进一步的信息,请参阅 developerWorks WebSphere Application Server 专区和 developerWorks WebSphere Studio 专区。

JavaServer Faces 曾经 是 J2EE Web 开发中最被看好的技术之一。在 WebSphere Studio 中,JavaServer Faces 已 经可以使用了。JavaServer Faces (JSF) 提供了可视化开发 J2EE Web 应用程序新的途径。

问:这是一个很基本的问题。您能比较一下 JSF 和 Struts 之间各自的优缺点吗。 如何了解现在和将来的技术趋势,JSF 如何以及是否将会发展成为相对于 Struts 更出色的 技术。另外,WSAD 如果可以使两者不同的话,将在两者的比较中将会充当什么样的角色。

答:这是近期很热门的一个问题。一般来说,JSF 仍然是相当新的技术,需要时间来 完全地成熟。然而,我看到 JSF 已经可以完成 Struts 可以做的任何事,而且做的更多。 Struts 并不是来自于强制性的需求。它是开发人员厌烦了一次次的编写相同的逻辑而创造的 。JSF 的出现,既是必然的需要也是竞争的结果。

Struts 有以下优点:

Struts 是一个成熟的、被证实了的框架。它已经使用了几年,且被成功部署到许多 项目中。WebSphere Application Server 管理控制台就是一个 Struts 应用程序。

Struts 使用 Front Controller 和 Command 模式,可以处理复杂的控制器逻辑。

除了核心的控制器功能以外,它还有很多其他的优点,比如使用 Tiles 布局、说明性 (declarative)异常处理以及国际化。

以下是其缺点:

Struts 是非常以 JSP 为中心的,必须使用其他框架来适应其他视图技术。

尽管 Struts 有丰富的标记 库,但是它只能帮助进行控制器方面的开发,当您处理关于页面的组件时,它没有任何意义 。因此,从视图的角度来看,它没有提供好的工具。

Struts 需要关于 Java 的知识。其目的是帮助 Java 开发人员,而不是隐藏 Java。它在对 Web 开发人员隐藏 Java 语言的细节这一方面做的并不好。

ActionForms 被程式化的与 Struts 框架链接。因 此,为了降低模型的耦合度,您需要编写传送代码或者在输入时使用工具将数据从 Action Forms 移动到 Model。

JSF 从包括 Struts 的少数框架发展而来。Struts 的创建者 ,Craig McClanahan,即是 JSF 规范的领导人之一。因此,能看到 Struts 和 JSF 之间的 一些相似之处,这并不是偶然的。JSF 的主要目的之一就是使得 J2EE Web 应用程序在 RAD 工具下易于开发。同样地,它也引入了丰富的组件模型。JSF 有如下优点:

JSF 是一 个来自 Sun 的规范,将会被包括在 J2EE 规范的未来版本之中。各主要供应商都保证 对 JSF 提供强力支持。

JSF 使用 Page Controller Pattern,因此会对页面密集型 应用程序有帮助。相应组件会对来自页面上组件的事件作出响应。

JSF 有一个明确定 义的请求生命周期,保证了在不同级别上的可插入性(plugability)。

可插入性的 一个有力的例子是构建您自己的 render 工具包。将框架中的呈现(rendering)部分和控制 器部分分离的能力实现了良好的可扩展性。组件供应商可以编写他们自己的工具包以处理不 同的标记语言,如 XML 或 WML。另外,render 工具包也不依赖于 JSP。

因为 JSF 有一个丰富的组件模型,所以它支持 RAD 类型的开发。现在我可以使用拖放技 术来构建我的 Web 页面。此外,JSF 提供在不打破层次布局的条件下,将可视组件同后台模 型组件连接起来的途径。

时间: 2024-12-02 08:04:17

谈JMS和JSF的使用的相关文章

Java入门知识

What is Java? Why Java? 大家学习Java有各自的理由,基本上Java是一个比较好的面向对象语言,api丰富 是当前比较主流的编程语言,J2SE/J2ME/J2EE在各个开发领域都发展良好 Java不会取代其他开发语言或开发平台,如c/c++/c#或Delphi/.NET 没有最好的语言,只有某种应用场合下相对合适的语言 JRE Java 2 Runtime Environment, Java 运行时环境 包括Java虚拟机(JVM),和必须的类库 它是运行Java程序和网

JSF+Spring+Hibernate的实例讲解

js 使用JavaServer Faces(JSF).Spring Framework和Hibernate建立一个真实的Web应用程序内容概要使用JSF建立一个真实的Web应用程序不是没有意义的任务,这篇文章介绍了如何将JSF与Sping Framework和Hibernate集成,并且给出了使用这些技术建立这个真实的Web应用程序的最佳实践和设计指导 JavaServer Faces(JSF)技术是J2EE应用程序的一个新的用户接口框架,它非常适合基于MVC(Model-View-Contro

谈Microsoft .NET战略

战略 在蹉跎中一路前行 --谈Microsoft .NET战略 Eric Liu(刘如鸿) 2004年<程序员>杂志第六期 题记 四年的时间对于历史而言只是沧海一粟,而对于一个商业公司而言,却足以重生几回.从微软提出.NET战略到现在也接近四年了,而今的我们应该怎样去看待.NET四年走过的历程,怎样去评价.NET战略. 从职业角度来讲,过去的半年实在是疯狂,绝对的疯狂,至少我是这样.其中有很多原因,但最重要的一个原因实际上是我们公司正在经历的变迁.而今天所作的介绍从某种意义上可以说,许多人.尤

利用WAS CE v2.1创建基于JMS的应用

在上一篇文章中,作者以一个示例介绍了在 WAS CE v2.1 中开发 Java EE 应用的流程,内容涵盖了 Java EE 5 的很多新特性,包括:Java Server Faces (JSF).Java Persistence API (JPA).Enterprise Java Bean (EJB) 以及 JAX-WS 2.0 .作为本系列的第二篇文章,本文将介绍 Java EE 5 的另一种技术--JMS(Java Message Service). JMS 简介 什么是 JMS JMS

浅谈在JAVA项目中LOG4J的使用_java

一.直接使用: //输出到项目文件夹下output1.txt文件中 ////////////////////////////// // DEBUG - Here is some DEBUG // INFO - Here is some INFO // WARN - Here is some WARN // ERROR - Here is some ERROR // FATAL - Here is some FATAL ////////////////////////////// package

如何学习JMS

问题描述 今天组长让我了解下jms,但以前从未接触过,所以想请教各位:首先说下我现在所掌握的.现在工作是从事jsf+spring+hibernate的开发,jboss作为服务器,不过都是已经配置好的,所以对jboss的了解可以说是零.另外对struts2和javamail有所了解.基本就知道这些了.现在问题是我都不知道jms是什么东西,我查了下入门的材料,上来就是代码,可我连那些包都不知道从哪里导入,还有很多术语都不明白,不知道jms提供者是什么东西,是不是jboss里包含了jms提供者?web

艾伟也谈项目管理,一种适用于真实世界BPM的协作方式

我们在业务流程管理(BPM)领域里摸爬滚打已经很多年了,最近看到人们对它的关注不断提升,这是非常有趣的一件事.对这一趣事儿起催化作用方面的有,工具的日渐成熟.新BPMN2.0规范的形成.以及更多更好的相关出版物带来的人们对BPM的进一步理解,它们代表着BPM领域内最重要的进步. 厂商提供了越来越高精良的图形化工具以及由其承诺的业务流程实现自动化,无需任何编码甚至开发者参与:然而,我们也发现了使用这些"传统"的以厂商为中心方法的一个问题:它们并未履行任何承诺! 我们以前的一些项目可以佐证

诺基亚设计主管谈交互、设计、产品

Marko Ahtisaari 是诺基亚的设计主管,去年 N9 的惊艳设计让他逐渐进入公众视线 近日他接受了 The Guardian 的采访,谈了很多,关于手机交互,关于产品,关于微软,关于下一款手机-- 手机交互的革新还没到头 "有人认为手机界面交互的革新已经完成了."他列举了两种主要的手机界面模式: iOS:多页平铺的应用.文件夹,加上一个 Home 按键.很优雅,很简单,但也太过一成不变.五年前如此,如今还是如此,核心交互上并没有太多的改进. Android.Symbian:在

拒绝平庸:浅谈用户登录页面的设计表现形式

用户活跃度是检验产品成功与否的重要指标之一,传统行业的商家极为重视门面的装潢,因为一个好的门面可以聚集人气,招揽更多的顾客.古时候的大户人家院子门口的石狮子或其他的摆件的摆放极为讲究,有一定的风水学说道理,更能彰显主人家的身份地位.由此可见,"门面'就如人的脸面之于人的形象一样重要,而WEB的登录页面就相当传统的"门面". 现在越来越多的大型网站把登录和首页放在一起设计,由此可见登录页面的重要性,一个出彩的登录界面,将提升产品的品质,赋予产品独特的气质,登录界面也是一个发挥情