web-dev-qa-db-ja.com

Java EE Web開発、どこから始めて、どのようなスキルが必要ですか?

少なくとも基本的なレベルで、Java Webアプリケーション(.NETのバックグラウンドから来ています)を構築する方法を学びたいです。シンプルなCMSタイプのアプリケーションを一から構築、デプロイできるようにしたいと思います。

正確に何を学ぶ必要がありますか?

TomcatはJavaに適したWebサーバーのようです。

Webにはどのようなオプションがありますか? ORMには Hibernate があることを知っています。

JavaにはMVCがありますか? JSP についてはどうですか? MVCとJSPは一緒にできますか? NetBeans

たぶんこれらのすべてをカバーする本ですか?

212
mrblah

(2018年9月に更新)

何を正確に学ぶ必要がありますか?

HTMLCSS および/のようなクライアント側の技術に既に精通していると仮定します。 JS なので、これについては詳しく説明しません。また、読者はすでに基本的なJavaに精通していると想定しています。 Oracleの The Java Tutorials に従い、可能であれば、 OCA book またはコースを入手してください。同じように。

次に、JSP/Servletから始めて、Java Web開発の基本概念を学習します。優れたチュートリアルは、Oracleの Java EE 5チュートリアルパートIIの3〜8 およびCoreservlets.com( Beginner-Intermediate および Advanced、JDBC )。 Java EE 6、 JSPはJava EEチュートリアルから削除され、JSF が優先され、JSPは基本的にそれ以来変更されていません。そのため、かなり古いJava EE 5チュートリアルを安全に使用できます。 JSPに関して最も重要なことは、<%スクリプトレット%>を使用してJSPファイルにプレーンJavaコードを記述することは2003年以来公式に推奨されていないという事実です。 JSPファイルでJavaコードを回避する方法? したがって、スクリプトレットをカバーしているチュートリアルは、間違いなく悪習を学ぶ下向きのスパイラルに陥るので、スキップする必要があります。

また、 JSPServletsに関する素敵なwikiページもあります。 _ jstl _ および EL ここで、基本事項を学び、より役立つリンクを見つけることができます。


TomcatはJavaに適したWebサーバーのようです

そうです。ただし、機能には制限があります。これは基本的にはベアボーンサー​​ブレットコンテナであり、巨大なJava EE APIのJSP /サーブレット部分のみを実装しています。 EJBまたはJPAを使用したい場合は、別のものを選択します。 WildFlyTomEEPayaraLibertyWebLogic など。それ以外の場合は、Java EEの代わりにSpringを使用する必要があります。つまり、コアエンジンを変更せずにEJBをベアボーンサー​​ブレットコンテナにインストールすることは不可能です。Tomcatの場合、基本的にTomEEを再発明することになります。 Java EEとは正確には何ですか?


ORM用のHibernateがあることは知っています。

以前は、JPAが存在せずEJB2がひどいJ2EE時代に、Hibernateはスタンドアロンフレームワークであり、EJBを置き換えるためにSpringと組み合わせてよく使用されていました。 Java EE 5(2006)でJPAが導入されて以来、HibernateはJPA実装になりました。 JPAは、 Java EEチュートリアルパートVIII で学習できます。また、EJB3は、Springから学んだ教訓に基づいて大幅に改善されました。 Spring、EJB3、またはそれらのすべてを一緒に使用する必要があるのはいつですか?


JavaにはMVCがありますか? JSPはどうですか? MVCとJSPは一緒にできますか? JavaBeans?

できます 、しかしそれはたくさんの 車輪の再発明 ビューとモデルを結ぶことになると(変換、検証、リスナーの変更など)。 Java EEのMVCフレームワークは、 JSF と呼ばれます。 Java EE 6より前は、かなりレガシーなビューテクノロジーであるJSPで実行されていました。 JSPは Facelets に置き換えられました。 JSFは、 Java EEチュートリアルパートIIIの7〜17 で学習できます。ところで、TomcatでJSFを使用することもできます。JSFは個別にインストールするだけです。インストール手順は Mojarraホームページ にあります。 WildFly、TomEE、Payara、Liberty、WebLogicなどは完全なJava EE実装であるため、JSF(およびCDI、BV、JSONP、JAX-RS、EJB、JPAなど)は既に提供されているため、個別にインストールする必要はありません。 Mavenを介してJSFライブラリを適切にインストールおよび設定する方法も参照してください。


これらすべてをカバーする本でしょうか?

いくつかの本があります。はじめに本を読むことをお勧めします Java EE全般 、本 JSFに焦点を当てます 、および本 JPAに焦点を当てて 。主題をカバーする最新の本を選択してください。したがって、Java EE 5またはJSF 1.0程度の古い本ではありません。

最後になりましたが、roseindia、tutorialspoint、javabeat、journaldev、javatpoint、codejavaなど、教育ではなく広告収入に主眼を置いたアマチュアが管理するコードスニペットスクレイピングサイトを無視してください。 scriptletsを含むバナーとJSPコードスニペット。

こちらもご覧ください:

250
BalusC

正確に何を学ぶ必要がありますか?

最低限、

  • Java言語
  • データベースアクセス用のJDBCを含むJava API
  • IDE、またはテキストエディター+ Ant
  • Java EE、基本的にはサーブレットとJSP
  • サーブレットコンテナ(Tomcatなど)

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を使用してVをレンダリングできると思います。 SpringのMVCとStrutsが行います。他のもの(Velocity、Freemarkerなど)も使用できるものもあります。

Beanはオブジェクトの単なる規則です。基本的に、これはゲッターとセッター(またはいくつかの代替)を使用しており、いくつかのルールに従っていることを意味します。これらは、特定のツールでオブジェクトを操作できるようにする必要があります。典型的な例はGUIです。一部のツールでは、GUIコンポーネントを構築して任意のBeanを編集できます(つまり、フィールドを編集するためにフォームをレンダリングします)。

28
alex

HTML、CSS、およびJavaScriptが必要です。これらはすべて、Web開発の通常の容疑者です。

TomcatにはWebサーバーが組み込まれていますが、サーブレット/ JSPエンジンですです。 Apacheは純粋なWebサーバーです。

JSPを学習する必要があります。JSPは、HTML出力を生成するサーブレットを生成するためのテンプレート言語です。スクリプトレットではなく、JSTLを使用して記述してください。

CRUDアプリケーションを実行している場合は、JDBCおよびリレーショナルデータベースを学習する必要があります。 Hibernateまたは他のORMを試す前に、それを行う必要があります。これは、Hibernateが構築される基盤であるためです。

JavaBeansは、Javaオブジェクトの単なる標準です。

あなたがそれをやっているなら、Springフレームワークをお勧めします。

16
duffymo

JavaにはMVCがありますか?

JavaにはStruts2Spring MVCなどのさまざまなフレームワークがあります

jSPはどうですか?

JSPはテンプレートライブラリです。 FreeMarkerVelocityのような代替手段がいくつかあります。 AFAIKFreemarkerは、優れたテンプレートライブラリとして登場しています。 JSPよりも軽量です。これをチェックしてくださいFreeMarkerJSPのオープンな代替-JavaWorld

mVCとJSPは一緒にできますか?

前述のフレームワークとしてMVCを取り上げます。すべてのフレームワークはJSPをサポートしていますが、各フレームワークのドキュメントで他のテンプレートライブラリのサポートを確認する必要があります。 AFAIKStruts2は、Freemarkerを非常によくサポートしています。

豆?

私はそれについてあまり知りません。しかし、Beanを使用すると、フォームデータをデータベースに直接マップできます。

たぶん、これらすべてをカバーする本でしょうか?

各フレームワークには独自の本があります。 ForStruts2- Struts 2 in Action

String MVC-SpringおよびSpring MVCの本を推奨するこれらの質問をご覧ください。 Springフレームワークの本の提案 および Spring Books:選択するもの

Fremarkerには非常に優れたドキュメントがあります- FreeMarker Manual

JavaでのWeb開発を始めるために-

alt text

http://www.Amazon.com/SCWCD-Exam-Study-Kit-Certification/dp/1930110596

13
Xinus

従来のJava Web開発オプションのほとんどはかなり重いと考えており、いくつかの優れた代替手段があります。

  • Play は、より動的なJVMベースの言語とは対照的に、純粋なJavaにこだわりながら、軽量で簡単で迅速な開発を可能にすることに焦点を当てたMVCフレームワークです。かなり新しいものですが、すでに印象的で、すぐに良いコミュニティが構築されました。

  • Grails は、Javaベースのスクリプト言語である Groovy で記述され使用されているRuby on Railsに触発されたMVCフレームワークです。 Grailsは成熟した堅牢なコミュニティであり、広く尊敬されています。 Groovyは基本的にJavaのスーパーセットであり、構文が優れており、クロージャーなどの優れた機能を備えているため、Javaを学習するのに最適な方法です。

  • RESTful Webサイト/サービス/アプリケーションを構築する必要がある/したい場合、 Restlet は素晴らしいフレームワークです—私は大ファンです。シンプルでわかりやすく、しかも柔軟です。素晴らしいコミュニティも。

  • GoogleのApp Engine も興味深いオプションです。ホストされており、興味があるかもしれないし、そうでないかもしれませんが、かなりシンプルなAPIと優れたSDKを持っています。

他にもあるとは思いますが、これらは私の頭上で考えることができるものです。

頑張って楽しんでね!

5
Avi Flax

私はPHP/Cプログラミングであり、Javaプログラミングに固有のすべてのクラスとパラダイムを学ぶことなく、groovyを使用してJavaに飛び込むことができます。 Groovyを使用すると、Javaおよび利用可能なすべてのツール/フレームワーク/ライブラリについて詳しく学ぶために時間をかけながら、迅速に生産性を上げることができました。

3
mr-sk

Html、css、xml、javascriptなどを使用したくない場合.

Vaadin フレームワークを試してください。ドキュメントが充実しており、簡単に学習でき、見栄えの良いUIを簡単な方法で作成できます。 (単にJavaコードを記述します。もちろん、サーブレットサーバーが必要です。TomcatまたはJettyは問題ありません)

3
mokrzu

Javaを学習した後、サーブレットとJSPを学習します。次に、MVCを使用する場合は、StrutsまたはSpringまたはその他のJava/java対応フレームワークを使用します。

2
SIVAKUMAR.J

Javaが初めてなので、基本的な言語を最初に学ぶことを強くお勧めします。これは、Webアプリケーションの実行にどのテクノロジーを選択するかに関係なく役立ちます。

優れたオンラインリソースは、Sun Java Tutorial- http://Java.Sun.com/docs/books/tutorial/ です。