回答:
(2020年3月更新)
まず、「Java EE」は2019年9月以降、バージョン8 から「Jakarta EE」に名前が変更されました。歴史的に、バージョン1.2から1.4までをカバーする「J2EE」という用語もありました。「Java EE」はバージョン5から8までをカバーしました。WikipediaのJava Platform、Enterprise Edition、Historyも参照してください。
正確に何を学ぶ必要がありますか?
HTML、CSS、JSなどのクライアント側の技術についてはすでにご存知だと思いますので、詳しくは触れません。また、読者は基本的なJavaに既に精通していることも前提としています。OracleのJavaチュートリアルに従ってください。可能であれば、OCPの本やコースも入手してください。
次に、JSP /サーブレットから始めて、Java Web開発の基本概念を学ぶことができます。優れたチュートリアルは、OracleのJava EE 5チュートリアルパートIIの第3章から第8章、およびCoreservlets.com(初級-中級および上級、JDBC)にあります。Java EE 6以降、JSPはJava EEチュートリアルから削除され、JSFが採用されています。JSPは基本的に変更されていません。これが、かなり古いJava EE 5チュートリアルを安全に使用できる理由です。JSPに関して最も重要なことは、<%
スクリプトレットを使用してJSPファイルにプレーンJavaコードを書き込むことが%>
2003年以降公式に推奨されていないことです。JSPファイルでJavaコードを回避する方法も参照してください。 したがって、スクリプトレットをカバーしているチュートリアルはすべて、スキップする必要があります。これは、悪い習慣を学ぶという下向きのスパイラルにあなたを確実に連れて行くからです。
ここStack Overflowには、JSP、サーブレット、JSTL、ELに関する素晴らしいWikiページがあり、基本を学び、より役立つリンクを見つけることができます。
TomcatはJavaに適したWebサーバーのようです。
そうです。ただし、機能に制限があります。これは基本的にはベアボーンサーブレットコンテナであり、巨大なJava EE APIのJSP /サーブレット部分のみを実装しています。EJBまたはJPAに行きたい場合は、WildFly、TomEE、Payara、Liberty、WebLogicなどの別のものを選択します。それ以外の場合は、Java EEではなくSpringを使用する必要があります。つまり、コアエンジンを変更せずにベアボーンサーブレットコンテナーにEJBをインストールすることは不可能です。Tomcatの場合、基本的にはTomEEを再発明することになります。「Java EEとは正確には何ですか?」も参照してください。、Maven経由でJSFライブラリを適切にインストールおよび構成する方法 およびTomcatにCDIをインストールして使用するにはどうすればよいですか?
ORMのHibernateがあることは知っています。
以前は、J2EEの時代、JPAが存在せず、EJB2がひどかったとき、Hibernateはスタンドアロンフレームワークであり、EJBに代わってSpringと組み合わせて使用されることがよくありました。Java EE 5(2006)にJPAが導入されて以来、HibernateはJPA実装になりました。JPAはJakarta EEチュートリアルパートVIIIで学ぶことができます。また、EJB3は、Springから学んだ教訓に基づいて大幅に改善されました。関連項目SpringやEJB3、あるいはそれらすべてを一緒に使用する必要がある場合、または便利な場合
JavaにはMVCがありますか?JSPはどうですか?MVCとJSPを一緒にすることはできますか?JavaBeans?
できますが、ビューとモデルを結び付けること(つまり、変換、検証、変更リスナーなど)に関しては、ホイールの多くの再発明です。Java EEのMVCフレームワークはJSFと呼ばれます。Java EE 6より前は、JSP上で実行されていました。これはかなり古いレガシービューテクノロジーです。JSPはFaceletsに置き換えられました。JSFは、Jakarta EEチュートリアルパートIIIの第7章から第17章で学ぶことができます。ちなみに、TomcatでJSFを使用することもできます。別途インストールする必要があります。インストール手順はMojarraホームページにあります。WildFly、TomEE、Payara、Liberty、WebLogicなどは完全なJava EE実装であるため、JSF(およびCDI、BV、JSONP、JAX-RS、EJB、JPAなど)はすでに提供されているため、以下を行う必要はありません。別途インストールしてください。Mavenを介してJSFライブラリーを適切にインストールおよび構成する方法も参照してください。
多分これらすべてをカバーする本ですか?
いくつかの本があります。まず、Jakarta EEに焦点を当てた本、JSFに焦点を当てた本、JPAに焦点を当てた本から始めることをお勧めします。あなたが主題をカバーする最新の本を選択することを確認してください。最初に最新の利用可能なバージョンを調べ、次に選択した本がそれをカバーしていることを確認してください。したがって、現在すでにJakarta EE 8とJSF 2.3が利用可能であるにもかかわらず、Java EE 5やJSF 1.0などの古い本を選択しないでください。
最後に重要なことですが、Rosedindia、tutorialspoint、javabeat、journaldev、javatpoint、codejavaなど、教育ではなく広告収入に主眼を置いているアマチュアが管理するコードスニペットスクレイピングサイトは無視してください。広告リンクを妨害することで簡単に認識できます/バナーおよびスクリプトレットを含むJSPコードスニペット。
正確に何を学ぶ必要がありますか?
最低限、
TomcatはJavaに適したWebサーバーのようです。
「まとも」です。EJBに慣れていない場合は、他に何も学ぶ必要はないでしょう。Glassfish 3は最近かなりクールに見えますが、まだあまり遊んでいません。これはWebサーバーより「多い」ことに注意してください。これはサーブレットコンテナーです(つまり、サーブレットテクノロジーを使用してアプリを実行できます)。
Webにはどのようなオプションがありますか?
約十億の異なるフレームワーク。本当に、どれを選ぶかは本当に「難しい」。それらすべてを試すのは非常に魅力的ですが、最終的には実行不可能です。
ORMには休止状態があることは知っています。
私はやや反ORMですが、「完全な」ORMが必要な場合はHibernateが必要です。また、SpringのJDBCサポートやiBatisなどの「部分的な」ORMを試すこともできます。
JavaにはMVCがありますか?JSPはどうですか?MVCとJSPを一緒にすることはできますか?豆?
はい、ほとんどのJava WebフレームワークはMVCを実行します。SpringのMVCは素晴らしいですが、他には何もお勧めできません(特に、Struts 1ではありません)。JSPは単なるHTML(またはXML)テンプレートエンジンです。Javaコードが埋め込まれた旧式のJSPはクールではありません。タグファイルとライブラリを備えた最新のJSPは非常に優れています。
ほとんどのフレームワークでは、JSPを使用してVsをレンダリングできると思います。SpringのMVCとStrutsはそうします。他のものを使用できるようにするものもあります(Velocity、Freemarkerなど)。
Beansはオブジェクトの規約にすぎません。基本的に、これはゲッターとセッター(またはいくつかの代替手段)を使用していて、いくつかのルールに従っていることを意味します。これらにより、特定のツールでオブジェクトを操作できるようになります。典型的な例はGUIです。一部のツールでは、任意のBeanを編集するためのGUIコンポーネントを構築できます(つまり、フォームをレンダリングしてフィールドを編集します)。
HTML、CSS、JavaScriptが必要です-Web開発のすべての通常の容疑者。
TomcatにはWebサーバーが組み込まれていますが、それはサーブレット/ JSPエンジンです。Apacheは純粋なWebサーバーです。
HTML出力を生成するサーブレットを生成するためのテンプレート言語であるJSPを学ぶ必要があります。スクリプトレットではなく、JSTLを使用して記述します。
CRUDアプリケーションを実行している場合は、JDBCとリレーショナルデータベースについて学ぶ必要があります。これは、Hibernateまたはその他のORMを構築する基盤であるため、Hibernateまたはその他のORMを試す前に行う必要があります。
JavaBeansは、Javaオブジェクトの単なる標準です。
準備ができているなら、Springフレームワークをお勧めします。
JavaにはMVCがありますか?
JavaにはStruts2やSpring MVCなどのさまざまなフレームワークがあります
JSPはどうですか?
JSPはテンプレートライブラリです。FreeMarkerやVelocityのように試すことができる代替手段はほとんどありません。AFAIK Freemarkerは、優れたテンプレートライブラリとして出現しています。JSPよりも軽量です。このFreeMarkerを確認してください:JSPのオープンな代替手段-JavaWorld
MVCとJSPを一緒にすることはできますか?
私は前述のフレームワークとしてMVCを採用しています。すべてのフレームワークはJSPをサポートしていますが、それぞれのフレームワークのドキュメントで他のテンプレートライブラリのサポートを確認する必要があります。AFAIK Struts2はFreemarkerを非常によくサポートしています。
豆?
私はそれについてあまり知りません。しかし、Beanを使用すると、フォームデータをデータベースに直接マップできます。
多分これらすべてをカバーする本ですか?
各フレームワークには独自の本があります。以下のためのStruts2の - Strutsのアクションで2
String MVC -SpringおよびSpring MVCの本を推奨するこれらの質問を見てください。SpringフレームワークとSpring Books に関する本の提案:どちらを選択するか
Fremarkerには非常に優れたドキュメントがあります-FreeMarker マニュアル
JavaでのWeb開発の開始 -
http://www.amazon.com/SCWCD-Exam-Study-Kit-Certification/dp/1930110596
私は従来のJava Web開発オプションのほとんどをかなり重いと考えており、いくつかの良い代替案があります。
Playは、軽量でわかりやすく、迅速な開発を可能にすることに重点を置いたMVCフレームワークであり、より動的なJVMベースの言語とは対照的に、純粋なJavaにこだわっています。それはかなり新しいですが、すでに印象的であり、良いコミュニティが急速にそれを中心に構築されています。
Grailsは、Ruby on Railsに触発されたMVCフレームワークであり、Javaベースのスクリプト言語であるGroovyで作成され、使用されています。Grailsは成熟していて、堅牢で、広く尊敬されており、強力なコミュニティを持っています。Groovyは基本的にJavaのスーパーセットであり、より良い構文とクロージャーなどのいくつかの優れた機能を備えているので、Groovyを学ぶことはJavaを学ぶための素晴らしい方法です。
RESTful Webサイト/サービス/アプリケーションを構築する必要がある場合、Restletは素晴らしいフレームワークです—私は大ファンです。シンプルでわかりやすく、しかも柔軟性があります。素晴らしいコミュニティも。
GoogleのApp Engineも興味深いオプションです。それはホストされているので、興味があってもなくてもかまいませんが、かなりシンプルなAPIと優れたSDKを備えています。
他にもきっとあると思いますが、これらは頭上から考えることができるものです。
頑張って楽しんでね!
javaを学んだ方がいい。次にServletとJSPを学んだ。次にMVCの場合は、StrutsやSpring、またはその他のjava / java対応のフレームワークに行く。
Javaは初めてなので、まず基本言語を学ぶことを強くお勧めします。これは、Webアプリケーションを実行するために選択したテクノロジーに関係なく、役に立ちます。
優れたオンラインリソースは、Sun Javaチュートリアル-http://java.sun.com/docs/books/tutorial/です。