2012-01-08 4 views
0

私はWeb開発者ではありませんが、いくつかの基本を知っています。私はMyfacesのApacheとFacelets、JSF2.0との関係を知っています。私は宿題とwikiをして、彼らを捜したが、それはまだ混乱している。私の知る限りでは、Javaベースの動的なWebアプリケーションを開発するために知っているように私には、以下のいくつかを使用します:Java動的Webアプリケーションの基本コンポーネントと、JSF2.0 FaceletsとMyfaceの関係について教えてください。

  • Java言語自体
  • データベース(MySQLやOracleのなど)
  • DB ORM(Javaの持続性 - > EclipseLink、Hibernateなど)
  • アプリケーションサーバー(Jboss、Glassfish、TomcatなどのApache)、右?
  • 私はJSPとサーブレットについてよく知っていて、JSF2.0のチュートリアルもやっていました。私はSpring、Strutsのような選択肢がありますが、この質問の対象ではありません。
  • しかし、Myfaces、Facelets(どのように、彼らはどこに属していますか?)
  • 非同期データ交換(アヤックス)
  • フロントエンド(HTML、CSS、Javascriptの、jqueryのなど)

答えて

3

Javaは仕様で多く動作します。全体的なエンタープライズ仕様はJava EEと呼ばれ、他にもJSFの仕様が含まれています。

仕様には実装があります。たとえば、JBoss ASとGlassFishはどちらもJava EE全体を実装しています。彼らは、独自の開発と個々のプロジェクトでもあり、個別に開発された部品を組み込むことによってこれを行います。例えば

は、JSFは、二つの主要なプロジェクトによって実現される:クロサギ科及びMyFacesの(そこおそらく、独立中国語実装であるが、その一つはよく知られておらず、アクセスすることが困難である)

これらの実装のうち、Mojarraには特別なステータスがあります。これは参照実装(RI)です。

Mojarraには、JBoss ASがデフォルトのJSF実装としてバンドルされ、唯一の実装としてGlassFishがバンドルされています。 MyFacesはJBoss ASにバンドルされていますが、明示的に選択する必要があります。さらに、MyFacesはJava EEのApache実装、すなわちGeronimoとTomEEにバンドルされています。

JSFでは、ビュー(ページ)を合成するためのテンプレート言語がプラグイン可能です。これは、VDL(View Description Language)と呼ばれます。かつてのJSPではこれが使われていましたが、このプラグイン可能性のために第三者が独自のものを実装することができました。たとえば、Authoring JSF pages in pure JavaおよびJavaFX as JSF VDL (View Description Language)?を参照してください。これらの代替VDLの中で最も人気のあるものはFaceletsでした。例えば、この2006年の記事:Facelets fits JSF like a glove

JSFのほぼ完全な不適合とFaceletsの猛烈な人気のため、JSF EGはFaceletsを採用し、これをJSF 2.0に組み込むことに決めました。

したがって、Mojarra 2.xとMyFaces 2.xの両方にはデフォルトで Faceletsが含まれています。これはJSF 2.0の完全で公式な部分です。

最後に、TomcatはJava EE実装ではなく、サーブレットコンテナです。サーブレットとJSP以外はバンドルされていません。ただし、スタックの上に独自のスタックを作成してから、MojarraまたはMyFacesをバンドルすることもできます。もう一度、JSF 2.xバージョンを使用している場合は、Faceletsをバンドルする必要はありません。これは、両方とも既存のFaceletsが含まれているためです。

+0

非常に洞察に満ちた答え+1、歴史知識+1、リンク+1、本当にありがとう! –

+0

あなたは歓迎です;) –

+1

+1のTomEEの言及: –

1

JSF 2.0のFaceletsは今それだった2.0以前のJSF 2.0の一部(で、仕様です別のライブラリ)、MyfacesはApacheによるJSF2.0の実装です。

+0

facelets == myfaces-apache? –

+0

あなたはもっと詳しく説明できますか? –

関連する問題