JavaServer Faces
他の伝統的なリクエスト駆動型のMVC Webフレームワークと異なり、JSFはコンポーネントベースのアプローチをとっている。 UIコンポーネントの状態は、クライアントが新しいページをリクエストした際に保存され、リクエストに対するレスポンスが返されるときに復帰される。JSFは当初、画面表示技術にJavaServer Pages (JSP) を用いていたが、2.0以降はより普通のHTMLに近いFaceletsが採用されている。
JSFには下記の要素が含まれる:
UIコンポーネントの表現、状態の管理、イベントのハンドル、値の変換、ページナビゲーションの定義、国際化とアクセシビリティサポートなどのためのAPIセット
UIコンポーネントのデフォルトのセット
JSPページ内のJavaServer Facesインタフェースを表現するための二つのJSPカスタムタグライブラリ
サーバサイドのイベントモデル
状態の管理
管理Bean (Managed Bean)
JSP 2.0 と JSF 1.2 のための式言語(EL 3.0以降は独立した規格となっている。)
JSF仕様はJava Community Processの元で、JSF 1.0および1.1を定義するJSR127として、 JSF 1.2を定義するJSR252として開発された。またJSF 2.0はJSR 314として開発されている。