问:什么是 JavaServer Faces 技术?
答:JavaServer Faces 技术是一个构建 web 应用程序的用户界面的框架。JavaServer Faces 技术包括:
一组 API,用于表示 UI 组件并管理它们的状态、处理事件和输入验证、定义页面导航、并支持国际化和可访问性。
一个用于在 JSP 页中表示 JavaServer Faces 界面的 JavaServer Pages (JSP) 自定义标签库。
利用 JavaServer Faces 技术提供的简单、定义良好的编程模型,不同层次的开发人员可以在页面中组装可重用的 UI 组件、让这些组件连接到一个应用程序数据源、以及将客户机生成的事件写入服务器端事件处理程序,从而可以迅速并且容易地构建 Web 应用程序。这些 web 应用程序可以利用 JavaServer Faces 技术的强大能力处理所有复杂的服务器用户界面管理问题,使应用程序程序开发人员可以将精力集中到他们的应用程序代码上。
问: JavaServer Faces 技术有哪些优点?
答: JavaServer Faces 技术的主要优点包括:
容易使用: JavaServer Faces 体系结构有几个方面使它容易使用。其中之一是 JavaServer Faces 技术提供了逻辑与表示之间的干净分离,使范围广泛的用户 – 从 web 页面设计者到组件开发者 – 都可以利用 JavaServer 技术的好处,从而使分工明确并加快开发周期。同时,用 JavaServer Faces 技术生成的用户界面可以处理所有用户界面管理的复杂问题,包括输入验证、组件状态管理、页面导航和事件处理。
标准: JavaServer Faces 技术是通过 JSR-127 下的 Java Community Process 开发的。一些有实力的、重要的工具供应商是 JSR-127 专家组的赞助成员,并承诺在他们的工具中支持 JavaServer Faces 技术。
设备无关性: JavaServer Faces 技术设计为具有灵活性。JavaServer Faces 体系结构使组件开发人员只需要在可扩展的 UI 组件类中定义组件功能,就可以扩展组件类以生成自己的、针对特定客户机的组件标签库。
问: JavaServer Faces 技术的目标用户有哪些?
答: 因为JavaServer Faces 技术所具有的可扩展性和容易使用的特性,范围广泛的开发人员和 web 页面设计人员都可以利用 JavaServer Faces 技术的好处。这些用户包括:
页面设计人员,他们在 web 页面 -- 如 JSP 页面 -- 中用 JavaServer Faces 组件标签构建 UI 。这些用户最有可能是 JavaServer Faces 自定义标签库的主要用户。
应用程序开发人员,他们编写应用程序代码,包括数据访问、事件处理和业务逻辑。
组件编写人员,他们构建可重用的 UI 组件,并利用 UI 组件类的可扩展性构建针对特定客户机的自定义组件。
工具供应商,他们开发利用 JavaServer Faces 技术的工具,从而使用 JavaServer Faces 技术构建用户界面更容易。
问: JavaServer Faces 规范是由谁制定的?
答: 一些重要的业内人士与 Sun 共同定义了 JavaServer Faces 规范的第一个草案。专家组成员的完整名单请参阅JSR-127。
问:JavaServer Faces 技术、Struts 和 Sun Java System Application Framework(JATO) 的区别是什么?
答: Sun Java System Application Framework (以前称为 JATO)和 Struts 是流行的 Java Web 应用程序框架。JSR-127 的目的是为 Java web 应用程序定义一个用户界面框架,这样就与当前 Sun Java System Application Framework 和 Struts 的功能有了一些重叠。不过, JSR-127 与 Sun Java System Application Framework 和 Struts 是有区别的,因为它侧重于为用户界面提供一个组件模型。JATO 扩展了模型-视图-控制体系结构,它使用基于 J2EE 的设计模式,具有一个可扩展的同时又能马上使用的实现。Struts 更多是在表单或者页面水平上封装用户界面。
理想的方案 – 我们正在朝这个方向努力 – 是让 JavaServer Faces 技术与 Struts 和 Sun Java System Application Framework 共同工作。这意味着将来基于 Sun Java System Application Framework 或者基于 Struts 的实现将使用 JavaServer Faces 组件完成页面中组件级别的功能(呈现、事件等),但是继续使用它们自己的应用程序模型处理更高级别的功能,如表单和操作。
具体的实现细节仍然在 Sun Java System Application Framework 和 Struts 小组的帮助下正在制定当中,在 JSR-127专家组中也有他们的代表。
问:JavaServer Faces 技术与 JavaServer Pages 标准标签库(JSTL)有什么关系?
答: JSTL设计用于与作为 JavaServer Faces 技术的一部分的 JSP 标签库共同工作。例如,在 JavaServer Faces 教程中的 Performing Localization 一节描述了如何在 JavaServer Faces 应用程序中使用 JSTL 国际化功能。
问: JavaServer Faces 技术与 JavaServer Pages (JSP) 技术有什么关系?
答: 1.0 版本的 JavaServer Faces技术依赖于 JSP 1.2。因为 JSP 2.0 是 JSP 1.2 的超集,所以1.0 版本的 JavaServer Faces 技术有可能使用 JSP 2.0。未来版本的 JavaServer Faces 规范将可以更好地利用 JSP 2.0。
问:有哪里可以找到有关 JavaServer Faces 技术的更多信息?
答:有关 JavaServer Faces 技术的更多信息请参阅 JavaServer Faces Tutorial。如果在本常见问题中没有回答您的问题,可以咨询 JavaServer Faces Forum。
问:如何将 JavaServer Faces 应用程序部署到其他 Web 容器中?
答:请参阅Deployment Guide。
问:在 EA4 版本中增加了哪些新功能?
答:在 EA4 中新增加的三个主要功能为:
应用程序配置文件(Application Configuration File)定义用于在应用程序启动时配置资源。可配置的资源包括:自定义组件、renderer、转换器、和验证器,render kit、导航规则、和模型 bean。在上一版本中,这些资源必须在程序中配置。这个新的功能使得不再需要以下对象:定义导航的ApplicationHandler,注册转换器、验证器、呈现器和消息的ServletContextListener。有关应用程序配置文件的描述,请参阅 JavaServer Faces 教程中的Application Configuration。
新的导航处理机制。在上一版本中,导航规则是在 ApplicationHandler 中以程序方式定义的。在这个版本中,导航规则是在可移植的应用程序配置文件中定义的。有关导航处理机制的描述请参阅 JavaServer Faces 教程中的Navigation Model。
Managed Bean 创建工具。在上一版本中,JavaServer Faces 技术使您可以创建与 UI 组件对象分离的、封装了数据和业务逻辑的模型对象。这一版本完全指定如何创建和管理这些对象。这一版本还提供了 Managed Bean 创建工具,它创建新的模型对象并将它们储存在 scope 中。这个工具也是用应用程序配置文件配置的。有关 Managed Bean 创建工具的描述,请参阅 JavaServer Faces 教程中的Managed Bean Creation。
问:在试图运行我的应用程序时,看到这个异常: javax.servlet.ServletException: Cannot find FacesContext。如何改正它呢?
答: 您需要遵照在 JavaServer Faces 教程中Writing the web.xml File和 Invoking the FacesServlet 中的指导。
问:在运行 helloDuke 和 guessNumber 示例时,我得到像这样的异常: javax.faces.FacesException: org/apache/commons/collections/ArrayStack ... 如何改正它呢?
答:这些例子都是假设开发人员使用 Java Web Service Developer Pack 运行它们的。由于 Java WSDP 包含一些 JavaServer Faces 应用程序所需要的 JAR 文件,所以这些 JAR 文件没有拷贝到应用程序 WAR 文件中。您看到的这个异常是由部署环境没有包含所需要的 commons-collections.jar 这一事实所导致的。
要让这些例子可以正常工作,必须在部署环境的common/lib目录中、或者在这些例子的 WAR 文件中的WEB-INF/lib目录中加入在 JavaServer Faces 教程中 Including the Required JAR Files 一节列出的所有 JAR 文件。
在将来的版本中,这些例子将包括所有需要的 JAR 文件,这样它们就可以在其他兼容的配置中运行。
分享到:
相关推荐
JavaServer Faces 作为一种成熟的 Web 应用开发框架,不仅解决了传统 Web 开发中常见的问题,还通过其独特的架构设计促进了开发效率的提升。通过将不同的开发角色进行分离,使得项目团队能够更加高效地协作。此外,...
### JavaServer Faces (JSF) 教程技术指导:深入解析与实践 #### 前言:JSF的诞生背景与目标 JavaServer Faces(简称JSF)是为了解决Web应用程序开发中面临的多种挑战而诞生的一项技术。传统上,Web开发人员必须...
《JavaServer Faces核心编程(第3版 中文完整版)》是Java开发领域的一本经典著作,主要聚焦于JavaServer Faces (JSF) 技术的深入理解和实践应用。JSF是Java EE平台中的一个用于构建用户界面的组件模型框架,它提供了...
JavaServer Faces(简称JSF)是Java平台企业版(Java EE)中用于构建Web用户界面的标准技术。它提供了一个强大的框架来开发服务器端应用,支持开发者清晰地将视觉呈现与业务逻辑分离。JSF 2.0是一次重大升级,不仅...
《Prentice Hall Core JavaServer Faces 3rd Edition May 2010》是一本深入讲解JavaServer Faces(JSF)技术的专业书籍。JSF是Java平台上的一个用于构建Web应用程序的用户界面组件框架,由Java Community Process...
作为Sun Microsystems的高级员工工程师,Ed Burns自1994年以来一直在Web技术领域工作,涉足了NCSA Mosaic、Mozilla、Sun Java Plugin、Jakarta Tomcat等多个项目,并且是JavaServer Faces的共同规范领导者。...
JavaServer Faces(JSF)是一种用于构建企业级Web应用程序的Java技术。JSF提供了一种模型-视图-控制器(MVC)架构,简化了用户界面的开发,并且与Java EE平台紧密集成。在《核心JavaServer Faces,第二版》中,作者...
- **定义**:JavaServer Faces (JSF) 是Java EE标准技术之一,用于构建Web用户界面。它提供了一套完整的框架来开发服务器端应用程序,能够将视觉展示与应用逻辑清晰地分离。 - **特点**: - 强大的框架支持,便于...
Java Server Faces(JSF)是Java平台上用于构建Web应用程序的MVC(模型-视图-控制器)框架。在JSF中,重定向是常见的页面导航技术,它将用户从一个页面引导到另一个页面,通常在处理完某个请求或事件后执行。重定向...
Java Server Faces (JSF) 是一个Java平台上的Web应用程序框架,专为构建用户界面而设计。它提供了一种声明式的方式来创建动态、数据驱动的Web应用。在JSF中,开发者可以使用组件库来构建页面,这些组件可以直接与...
JSP2.0版本引入了许多改进,包括对JavaServer Faces(JSF)的支持、标签库的增强以及更强大的脚本元素。 Apache Tomcat 是一个开源的Web应用服务器,主要处理基于Java的Web应用,特别是JSP和Servlet。它是Java ...
JSP的最新工具包可能包括了对Java EE(Enterprise Edition)的支持,这意味着开发者可以利用EJB(Enterprise JavaBeans)、JPA(Java Persistence API)和JSF(JavaServer Faces)等技术,构建更复杂的Web应用程序。...
blankapp-volume1 带有PrimeFaces,CDI和WildFly的JavaServer Faces教程-第1卷第一卷-环境在第一卷中,将向读者介绍Eclipse开发工具,它是IT专业人员中最著名的IDE之一,并将以最简单的方式使用Maven和Eclipse创建...
Java Web开发是利用Java编程语言进行Web应用程序的创建,它涉及到一系列技术和框架,如Servlet、JSP、JavaServer Faces (JSF)、Spring MVC等。下面将对这些关键知识点进行详细的解释和探讨。 1. **Servlet**:...
在Java Web中,Struts、Spring MVC和JSF(JavaServer Faces)都是基于MVC的框架。它们将应用分为模型、视图和控制器三个部分,使得代码结构清晰,便于维护。 五、数据库连接与JDBC Java Database Connectivity...
JSF组件事件监视器简单的Java Server Faces组件事件控制器。 将服务器负载和AJAX调用减少到您认为必要的程度。介绍欢迎! 您是否曾经在使用JSF(Primefaces等)时查看过您的网络日志,并且看到了在功能上无用的活动...
Java Web开发是基于Java平台的Web应用程序开发,它包括Servlet、JSP、JavaServer Faces (JSF) 等技术。Servlet是Java编程语言中的一个接口,用于扩展服务器的功能,处理HTTP请求。JSP则是一种动态网页技术,允许...
7. **JSF(JavaServer Faces)**:JSF是一种用于构建用户界面的Java标准框架,它提供了一系列UI组件和事件处理机制,简化了前后端交互。 8. **Ajax与JSON**:Ajax(Asynchronous JavaScript and XML)技术实现了...