JavaServer Faces (JSF) to struktura prezentująca widok modelu, zwykle używana do tworzenia aplikacji internetowych opartych na formularzach HTML. Korzystając ze standardowych komponentów i zestawu do renderowania, można definiować stanowe widoki HTML za pomocą tagów Facelets lub JSP i łączyć je w celu modelowania danych i logiki aplikacji za pomocą zapasowych komponentów bean.