JavaServer Faces技术常见问题
一般性问题
什么是 JavaServer Faces 技术?
JavaServer Faces 技术有哪些优点?
JavaServer Faces 技术的目标用户有哪些?
JavaServer Faces 规范是由谁制定的?
JavaServer Faces 技术、Struts 和 Sun Java System Application Framework(JATO)的区别是什么?
JavaServer Faces 技术与 JavaServer Pages 标准标签库(JSTL)有什么关系?
JavaServer Faces 技术与 JavaServer Pages(JSP)技术有什么关系?
在哪里可以找到有关 JavaServer Faces 技术的更多信息?
如何将 JavaServer Faces 应用程序部署到另一个 Web 容器中?
Early Access 版本 4 的问题
在版本 EA4 中增加了哪些新功能?
在试图运行我的应用程序时,看到这个异常:javax.servlet.ServletException: Cannot find FacesContext。如何改正它呢?
在运行 helloDuke 和 guessNumber示例时,我得到像这样的异常:javax.faces.FacesException: org/apache/commons/collections/ArrayStack ... 如何改正它呢?
--------------------------------------------------------------------------------
一般性问题
--------------------------------------------------------------------------------
问:什么是 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 组件类的可扩展性构建针对特定客户机的自定义组件。