JavaServer Faces 技术包括:
- 一组API,用于表示 UI 组件并管理它们的状态、处理事件和输入验证、定义页面导航、以及支持国际化和可访问性。
- 一个JavaServer Pages (JSP) 自定义标签库,用于在 JSP 页中表示 JavaServer Faces。
JavaServer Faces 技术设计为具有灵活性,它利用了现有的标准 UI 和 web 层概念,并使开发人员不局限于特定的标记语言、协议或者客户机设备。JavaServer Faces 技术中包含的UI组件封装了组件功能,而不是特定于客户机的表示,因此使 JavaServer Faces UI 组件可以在不同的客户机设备上呈现。通过将UI 组件功能与定义了针对特定 UI 组件的呈现属性的自定义 renderer 相结合,开发人员可以为特定的客户机设备构建自定义标签。为方便使用,JavaServer Faces 技术提供了可以呈现到 HTML 客户上的一个自定义 renderer 和一个 JSP 自定义标签库,使Java 2 平台,企业版(J2EE)应用程序的开发人员可以在他们的应用程序中使用 JavaServer Faces。
JavaServer Faces 体系结构将容易使用作为一个主要目标,它明确定义了应用程序逻辑与表示的分离,同时将表示层连接到应用程序代码又很容易。这种设计使 web 应用程序开发小组的每位成员都可以将精力集中于他或者她的那部分开发工作,它还提供了一种将各个部分链接到一起的简单编辑模型。例如,没有编程知识的web 页面开发人员可以在 web 页中用 JavaServer Faces UI 组件标签链接应用程序代码而无需编写任何脚本。
JavaServer Faces 技术是通过JSR-127 下的 Java Community Process开发的,它建立了构建服务器端用户界面的标准。通过专家组的努力,JavaServer Faces API 被设计为可以让那些为 web 应用程序开发提供方便的工具所利用。几家重要的工具供应商是 JSR-127 专家组的赞助成员,他们承诺在他们的工具中支持 JavaServer Faces 技术,从而带动了 JavaServer Faces 技术标准的采用。