Java EE 6でJava Webアプリケーションを作成するために何を学ぶべきか?[閉まっている]


103

私の目標は、Webアプリケーションを作成することです。

書籍「Headfirst-Java」と「Headfirst-サーブレットとJSP」を読み終えました。

このトピック(Webアプリケーション)は非常に大きくて複雑なので、次に何を学ぶべきかを尋ねたいと思います。Java EE、EJB、JSF、JPA、Glassfishな​​どのキャッチワードを読むと、緊張しすぎますが、あきらめません。

誰が私にどのように学習を進めるべきか教えてもらえますか?次のような本を入手する必要があります。GlassFish3を使用した Java EE 6プラットフォームの初心者:初心者から専門家まで、またはいくつかのオンラインチュートリアルを作成する必要がありますか?

ありがとう!


1
2つのスレッドを読みました。しかし、繰り返しになりますが、スレッドでは「Tomcat、JBoss、Hibernateを学ぶ、これを学ぶ」などと言っているだけです。しかし、私はどの特定の本やチュートリアルを我慢すべきか知りたいです。たぶんそのような方法はないので、すべての単語を調べて「非効率的に」学習する必要があります。どうすればよいかアドバイスを受けたいと思っていました。
creativz 2009

1
コアJavaに関する十分な知識がある場合は、Head FirstサーブレットとJSPから始めることをお勧めします。プログラミング言語としてのJavaに慣れていない場合は、まずJavaについて知識を得てから、Webアプリケーション開発に進む必要があります。
レイチェル

22
Java EE 6が
リリース

4
@Stephenええと、実際には、特にWebパーツ(Servlet 3.0またはJSF 2.0とCDIマネージドBean)には大きなギャップがあると思います。
Pascal Thivent、2009

1
このように投票数の多い一般的な質問のいくつが「建設的でない」として閉じられているのかおかしい。彼らは非常に建設的だと思いますが、建設的な方法で答えるのは簡単ではありません。彼らは、自分がやっていること、またはやるべきことの全体像を知るのに役立ちます。しかし、彼らがSOに留まることが許可されているのは素晴らしいことです。
jackthehipster 2014

回答:


174

これが物議を醸すことを知っていても、私のアドバイスは、Java EE 6のみから始めることです。したがって、GlassFish v3を入手して、「GlassFish 3でJava EE 6プラットフォームを始める:初心者から専門家まで」という本を入手するか、Java EE 6チュートリアルに従ってください。私の意見では、この本(私が読み始めたので、私が話していることを理解している)は、「すべて」が新しい場合(Java EEプラットフォームとそのAPIの両方をカバーしている場合)に推奨されるより多くのガイダンスを提供しますそして、ビルドへの環境は、)あなたのアプリケーションを展開します。

さて、すでに述べたように、「Java EEは重い、代わりにSpringを使用する、プレゼンテーションレイヤーにはStrutsまたはWicketまたはStripesを習得する、永続化のためにHibernateを習得する、またはORMが好きではないため、代わりにiBatisまたはストレートJDBCを使用し(ご覧のとおり、Springでクールです、Springはとてもクールです)、Tomcat(そしてJettyでないのはなぜですか)、またはJBossを使用するか、これらすべてを忘れてGrailsに行き、bla bla bla ...」

しかし、これは本当にあなたを助けているとは思いませんし、メンタリングやガイダンスがなければ(そして、すべての組み合わせを網羅する時代遅れでないユニークなリソースを見つけることができません)、これは初心者にとって非常に混乱しているように思えます。

つまり、Java EE 6は、以前のバージョンのJava EEに比べて大幅に改善されていると思います。これは、すべてのニーズに対応する非常に優れた標準API(サーブレット3.0、JSF 2.0、JPA 2.0、EJB 3.1 lite、Bean Validation 1.0、CDI)を提供するためです。など)、これらのAPIはすべてまともなものであり、それらを学ぶことに本当に何の問題もないので、これはすでに大きな仕事であり、どこかから始めなければならないので、私はJava EE 6のみに焦点を当て、忘れてしまいます今のところ他のフレームワーク。より正確には、Java EE 6 Webプロファイルから始めます(さらに先に進めたい場合は、追加します)。

これを行うことで、1)始めて、まったく新しいことを学び、2)他のすべてのフレームワークやツールに適応して、まだ必要性があることを証明する時間を与えます。そして、もしあれば、それでも生存者を実験する時が来て、彼らがなぜ存在するのかをずっとよく理解することができるでしょう。


3
ありがとう。この本については完全に読んだわけではありませんが、Java EE 6の概要を知りたい初心者と実験済みの開発者の両方にぜひお勧めします。欠落している)、提示されたすべてを示すコードサンプルが含まれています。将来的にはより集中的な本があるかもしれませんが、これは良い本です。
Pascal Thivent、2009

23
+1、しかし春はとてもクールです:-)
ChssPly76

13
誤解しないでください、Stripes、Spring、Hibernate ...は素晴らしいです。しかし、あまりにも多くの選択肢があると、何か新しいものを発見するときに混乱する可能性があります。JavaEE 6を使用すると、それらなしで開始できると思います。
Pascal Thivent 09

9
私はあなたに同意します。JEEスタックを使用しない場合でも、それを学ぶことは非常に重要です。結局、そのスタック、物事を本当に素晴らしいものにする素晴らしいフレームワークすべてのベースラインです。たとえば、Wicketは、フロントコントローラーの概念。Javaの世界では、サーブレットとフィルターを意味します。これらがどのように機能するかわからない場合、Wicketが何をしているのか本当に理解できません。「魔法」を受け入れない限りもちろん答えとして。
Esko、

13
4年以上後...答えについて何か変更はありますか?
jlars62 2014

28

私のアドバイス1は、本を読むのをやめて、ものの実装を始めることです。私の経験では、本の学習は、実際に物事を行うことで得られる知識の代わりにはなりません。


1-コンテキスト:これは、トピックについて2冊の本を読み終えたばかりで、さらに読む本を探している人へのアドバイスです。実際には、読書と行動のバランスをとる必要があります。特にあなたが解決しようとしている特定の問題がある場合。


29
しかし、検索の日数を節約できます。質問に答えるのではなく、ここで最終的に高い評価を得ているのではなく、質問に答えるのに十分な知識を与えることもできますか?
Muhammad Gelbana 2013年

6
いいえ、同意しません。OPはすでにJava / Java EEの本を2冊読んでいます。彼がプログラミングをする時がきた。FWIW、私は本を読むことから私の知識のほとんどを得ませんでした。むしろ、私は物事を実装し、必要なときにドキュメントを参照することで、主にそれを得ました。本を読んで自転車に乗ることを学んだり、プログラミングのスキルを学んだりもしません。
スティーブンC

3
それはバランスをとることが重要だreadingpractice
smwikipedia 2015年

9

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の本来の姿です。でもその本は知りません。


2
問題は、本番稼働の準備ができたときのアプリケーションサーバーの状態です。特定のプロジェクトに今から6か月かかる場合、OracleとJBossはおそらくJEE6準拠のサーバーを備えており、ResinはおそらくJEE6 Webプロファイルサーバーを利用できません。
–ThorbjørnRavn Andersen、2010

まあ、JBossは12月の予定です。オラクルは低い。Resinは、Webプロファイルの実装に関して沈黙しています。Geronimoは3.0(ベータ版)のWebプロファイルに対応しています。Glassfishは3.0.1でリリースされました。
するThorbjörnRavnアンデルセン

5

Tomcatについては、Webサイトのマニュアルを参照してください。とても良いです。特に、Webアプリの編成と配備に関する最初のいくつかの章、およびサーブレットAPIとJSPに関する章。

Springの場合、マニングブックのSpring in Actionは非常に優れています。同様にHibernate(マニングブック)についてもですが、Hibernateは主にWebアプリケーションの範囲外にあると思います。しかし、あなたの電話。

ウィケット-マニングブックもございます。しかし、実際には、JavaScriptでフロントエンドコードを記述します。IMOの方が苦痛は少ないでしょう。


3

他のテクノロジーについてはコメントしませんが、Hibernateについて学びたい場合は、Cameron McKenzie(www.hiberbook.com)の「Hibernate Made Easy」を入手してください。それはすべてのペニーの価値があります。その本を2日で読み終えることができます(文字通り)。それは小説のようなもので、最終的にはセミプロのようにHibernateを扱っていることに気づくでしょう。



弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.