Java EE 6は本当に素晴らしいです。唯一の問題は、それが約2週間前のものであり、現在その機能を提供しているコンテナが1つしかないことです-Glassfish。
私はGlassfishに対して何もしていません。それをあらゆる場所で使用し、いくつかの製品インスタンスを使用しています。製品とプロジェクトが大好きです。
そうは言っても、Java EE 6の詳細はJava EE 5に変換されませんが、一部は実行されますが、Webプロファイル、サーブレット3.0、新しいBeanタイプ、JPA 2などがあります。
したがって、最初にJava EE 6を学習することで、1つのコンテナーに制限されます。もっと来ますが、まだここにはありません。
Tomcat、JBoss、OpenEJB、Glassfish、Jetty、Resin、Geronimoなどはすべて、Java EE 5仕様(少なくともそれらがサポートする仕様の部分、たとえばTomcatにはEJBがありません)でうまく機能します。
Java EE 6に引き継がれなかったJava EE 5のことは考えられません。JavaEE 6は、非常に古い側面をオプションにしました。Java EE 6は、いくつかのJava EE 5のものをさらに簡単にしました(特に、EJB Liteなどのパッケージ化)。
今すぐJava EE 5を学んで、実際にさまざまな環境で学んだことを適用できるようにしてください。JavaEE 6を今学んでいて、学んだことの多くを使用できないかもしれないことに気づくのではありません。
一冊の本であなたが知る必要があることを教えてくれることはありません。たとえば、サーブレットは優れた基盤ですが、数ページまたはエンドポイントよりも大きいものについては、多くのサードパーティフレームワークの1つ、またはJSFを使用する必要があります。その。
Java EE 5チュートリアルは基礎を理解するのに適しています。私の主な不満は、それらがソースコードを表示しないことです。むしろ、彼らはあなたにそれをダウンロードして実行することを期待しています。チュートリアルでは説明しません。Head Firstの本はかなり良いと思いました。
Webプログラミングの場合、生のサーブレットは要求/応答サイクルを理解するためだけに十分に重要ですが、サードパーティのフレームワークに飛躍するために深い理解は必要ありません。
私は、アクションフレームワーク(コンポーネントフレームワークに対して)のStripesの大ファンであり、入手可能な単一のStripesブックは優れています(その選択を簡単に選択できます)。
私はコンポーネントフレームワークの本を提案することはできません。コンポーネントフレームワークは、HTTPコアの要求/応答構造を本当に埋め込んでいます。彼らは理由のためにそれらを埋め、それらを埋めることによって価値を得るが、私はあなたがこれらの概念を早い段階でしっかりと理解する必要がある効果的であると信じています。そのため、最初にコンポーネントフレームワークについて学習することはお勧めしません。
JAX-RS RESTフレームワークは、Java EE 6に含まれていますが、Java EE 5または任意のサーブレットコンテナーに簡単にインストールできます。間違いなく、それはServlet 3.0の本来の姿です。でもその本は知りません。