web-dev-qa-db-ja.com

SpringまたはHibernateまたはその他のJava Webフレームワークを学習するために、サーブレットとJSPを知る必要がありますか?

私は多くの人に、どこから学習を始めるべきかを尋ねてきましたJava Web開発、コアJava(Threading、Generics、Collections、a little experienceと(JDBC))が、JSPとサーブレットがわかりません。PHP for server-side and HTML、CSS、Javascript、HTML5 for forクライアント側。

私が尋ねたほとんどの人は、すぐにHibernateにジャンプするように私に言いましたが、一部はサーブレットとjspを学ぶ必要がないと私はすぐにSpringフレームワークを研究するべきだと私に言いました。これは本当ですか? hibernateまたはSpringを学ぶためにサーブレットとJSPを学ぶ必要はありませんか?

彼らの答えはすべて私を混乱させました、そして今、私は何を学び、勉強するべきか完全に失われています。 JSPとサーブレットの学習をスキップした場合、将来的に確実に役立つであろう重要な概念の多くを逃してしまったと思います。

質問ですが、SpringやHibernateやその他のJava Webフレームワークを学習するには、Foundation/KnowサーブレットとJSPが必要ですか?

17
KyelJmD

HTML、CSS、JavaScriptを十分に理解していれば、多くの人がWeb開発を行うことになります。 JSPの背後にある概念は、PHPと非常によく似ています。癖は異なります。サーブレットは、リクエストを処理するJavaコードのチャンクの名前です。それだけです。元のStrutsフレームワーク全体が単一のサーブレットでした。

Tomcat または Jetty を学習するテクノロジーのリストに追加します。 TomcatはオリジナルのJava=サーブレットコンテナの実装であり、多機能でかなり人気のあるWebサーバーでもあります。GlassFishはその上に構築されています。Tomcatの代わりにJettyを使っていますよりシンプルで、柔軟性があり、高速であるため、新しいプロジェクトです。Jettyは、WebアプリではなくWebサービスを作成するように設計されています。ただし、Webアプリは、生のHTTPリクエストに応答してHTMLを提供するWebサービスにすぎないため、HTTP(数時間から1日で重要な部分を学ぶことができます)、それは非常に簡単に操作できます。

TomcatとJSP( チュートリアルはこちら またはJSF)を使用して小さなWebサイトを作成し、知っていることだけを知って、チュートリアルに数時間を費やすことができます。そうすれば、ストレッチする前に快適なところから始めることができます。次に、「<html> <head> <head> <title> Hi </ title> </ head> <body> <h1> Hello World </ h1>」と書き込む javax.servlet.http.HttpServlet を作成します</ body> </ html> "を応答オブジェクトに追加し、Tomcat web.xmlにリストして、WebブラウザーからHTTPリクエストを送信します。それはロケット科学ではありません。すべてのJava Webフレームワークは、これら2つの基本的なアクティビティのバリエーションです。

Jettyルートに行くと、構造がさらに低くなります。 Hello Jetty の例をご覧ください。

ブログや標準のeコマースサイトを作成する場合は、まず SquareSpace または Wordpress などを使用します。すぐに使えるようになります。カスタムコーディングを正当化する方法はもうありません。

Javaの強みは、その信頼性、保守性、およびパフォーマンスです。PHPまたはRuby/Railsの方が簡単ですが、Javaは、好きなだけスケーリングできます。Java Webフレームワークのいずれにも頭を悩ませていません。大規模なWebアプリケーションで作業しているチームがいる場合、またはHibernateを使用する必要がある場合、Springのようなフレームワークが本当に輝きます。Springが最も人気があります。サーブレットとJSP/JSFにある程度慣れている場合は、Springがそれらをデータモデルとどのように結び付けるかを学びます。

ブログやコンテンツ管理システムを作成している場合は、NoSQLデータベースを使用することもできます。しかし、NoSQLデータベースは、リレーショナルデータベースを置き換えるのではなく、基本的にファイルシステムの単なるキャッシングレイヤーであると私は主張します。 NoSQLデータベースに適したプロジェクトがJavaでの開発に適していることはまれです。

カスタムの高性能コード(Java、PHPなど)を必要とするものは、おそらくそれらを動かすリレーショナル/ SQLデータベースを持つことになるでしょう。まず、SQLとJDBC(Java Database Connectivity)の基本を理解しておくことをお勧めします。 Javaオブジェクトの世界、およびリレーショナルデータベースとSQLの世界に慣れたら、学習できます Ebean / [〜#〜 ] jpa [〜#〜] (Java Persistence API)/ ORM(オブジェクトからリレーショナルへのマッピング)は、オブジェクトの世界をリレーショナルの世界に接続します。

ORMはトリッキーで奇妙です。ほとんどは最終的に闘争の価値があります。 Ebeanは私が知っている最も簡単なものです。 12年後のHibernateに比べて、8か月後の方が快適です。 HibernateでSpringを使用する多くの人々を知っており、彼らは何の問題もないようです、またはHibernateが何であるか、または何をしているのかを特に意識しているので、Hibernateを使用するつもりなら春を通して。たぶん私はそれを長く使ったからといって、テスト用のハッシュマップをいくつか使ってHibernateを完全にスタブアウトできたので、すばらしいです(概要はリクエストに応じて入手できます)。

あなたはすでに最も重要なスキルのいくつかを持っています。他の人を一人ずつ連れて行き、圧倒されないようにしてください。

17
GlenPeterson

Springで簡素化された概念を理解するのに役立つため、基本的なJSPとサーブレットについて学ぶことをお勧めします。 PHPベースのCGIの経験があるので、ほとんどのJSP /サーブレットは、慣れ親しんだことを実行する方法が異なるだけなので、かなり迅速に進むはずです。あなたが見つけるかもしれない最も難しいことは、Java世界でユニークなイディオムを拾うことでしょう。

Hibernateに関する限り、私はMebAloneに同意し、必要に応じてそれを学ぶと言いますが、すでに設定されている場合は、他の人が行ったことをクリッブするだけで、必要なことの90%を実行できます。

4
Ed Griebel

Javaでサーバー側のWeb開発を学びたいようです。いくつかのフレームワークがあります。 Spring MVCは実際に最も人気があり、成熟していて、フル機能を備えており、知っておくと良いフレームワークです。 Spring MVCとその他のJava Webフレームワークは、JavaサーブレットAPIをプログラマーから抽象化します。つまり、技術的にはそれを知る必要はありません。しかし、学習することをお勧めします。基本-特に重要なクラス。勉強の日はそこに着くはずです。

JSPについては、PHPをご存知であれば、すでに本質を理解しています。JSPはJavaのサーバー側スクリプトのバージョンです。

HibernateはJPAの実装(最も人気のある)であり、RDBMSにオブジェクトを永続化するためのJava仕様です。NOSQLデータベース(Hadoop、Mongoなど)の人気の急増により、Hibernateは18か月前よりも「知っておくべきこと」ははるかに少なく、個人的には、必要以上に多くのストレージテクノロジを知っておく必要があります。

2
MebAlone

短い答え:いいえ、あなたはしません必要 Spring MVCおよび他の多くのJava Webフレームワークの前提条件として、サーブレットとJSPを学びます。

最初にHibernateを図から外してみましょう。これは永続層フレームワークであり、サーブレットやJSPとは何の関係もありません。

サーブレットAPIは、ほとんどすべてのJava= Webフレームワークの最低レベルです。JSPもサーブレットにコンパイルされています。

Spring MVCは、サーブレットAPIの上にあるレイヤーで、多くの便利な拡張機能とSpring Coreとの統合を備えています。 Spring MVCのレンダリングメカニズムとしてJSPを使用できます。 Spring MVCチュートリアルでは、最初からWebアプリを作成します。進むにつれて、JSPについて学び、サーブレットAPIについても理解できるようになります。

2
Yuriy Zubarev