`
wanglihu
  • 浏览: 909547 次
  • 性别: Icon_minigender_1
  • 来自: 黑龙江
社区版块
存档分类

JavaServer Faces技术常见问题

阅读更多
问:什么是 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 文件,这样它们就可以在其他兼容的配置中运行。
2
0
分享到:
评论

相关推荐

    Java Server Faces Security Extensions-开源

    JavaServer Faces 的一组安全扩展,用于解决常见的访问控制问题。

    blankapp-volume1:教程JavaServer Faces com PrimeFaces,CDI和WildFly-第1卷

    blankapp-volume1 带有PrimeFaces,CDI和WildFly的JavaServer Faces教程-第1卷第一卷-环境在第一卷中,将向读者介绍Eclipse开发工具,它是IT专业人员中最著名的IDE之一,并将以最简单的方式使用Maven和Eclipse创建...

    JSFx:简单的Java Server Faces组件事件控制器。 将服务器负载和AJAX调用减少到您认为必要的程度

    JSF组件事件监视器简单的Java Server Faces组件事件控制器。 将服务器负载和AJAX调用减少到您认为必要的程度。介绍欢迎! 您是否曾经在使用JSF(Primefaces等)时查看过您的网络日志,并且看到了在功能上无用的活动...

    Java 2核心技术,卷I:基础知识(第七版).part1

    他还撰写了众多技术和学术专著,并参与编写《Core JavaServer Faces》一书。  Gary Cornell曾经撰写或与人合著过20多本计算机畅销书。他是Brown大学的博士,在IBM的Watson实验室做过访问科学家,曾任康涅狄格...

    Java 2核心技术,卷I:基础知识(第七版).part2

    他还撰写了 <br>众多技术和学术专著,并参与编写《Core JavaServer Faces》一书。  Gary Cornell曾经撰写或与人合著过20多本计算机畅销书。他是Brown大学的博士,在IBM的 <br>Watson实验室做过访问科学家...

    Java 2核心技术,卷I:基础知识(第七版).part3

    他还撰写了 <br>众多技术和学术专著,并参与编写《Core JavaServer Faces》一书。  Gary Cornell曾经撰写或与人合著过20多本计算机畅销书。他是Brown大学的博士,在IBM的 <br>Watson实验室做过访问科学家...

    JSP2.0技术手册pdf(带示例源码).zip

    JavaServer Faces(JSF)技术以及Java Web Services技术的学习 目录 第一章 安装执行环境 1-1 安装 J2SDK 1.4.2 1-2 安装 Tomcat 5.0.16 1-3 安装 JSPBook 站台范例 1-4 安装 Ant 1.6 第二章 Servlet 2.4 简介 2-1...

    HtmlLib-开源

    Syboos Htmllib是用于常见html元素的JavaServer Faces(JSF)实现( , , 等等)。

    Spring API

    15.3. JavaServer Faces 15.3.1. DelegatingVariableResolver 15.3.2. FacesContextUtils 15.4. Struts 15.4.1. ContextLoaderPlugin 15.4.2. ActionSupport Classes 15.5. Tapestry 15.5.1. 注入 Spring ...

    Spring-Reference_zh_CN(Spring中文参考手册)

    15.3. JavaServer Faces 15.3.1. DelegatingVariableResolver 15.3.2. FacesContextUtils 15.4. Struts 15.4.1. ContextLoaderPlugin 15.4.1.1. DelegatingRequestProcessor 15.4.1.2. DelegatingActionProxy 15.4.2...

    Spring中文帮助文档

    15.3. JavaServer Faces 15.3.1. DelegatingVariableResolver 15.3.2. FacesContextUtils 15.4. Struts 15.4.1. ContextLoaderPlugin 15.4.2. ActionSupport Classes 15.5. Tapestry 15.5.1. 注入 Spring ...

Global site tag (gtag.js) - Google Analytics