HTML、CSS、およびJavaScriptを十分に理解していれば、最終的にWeb開発を行う多くの人々に足を踏み入れることができます。JSPの背後にある概念は、PHPに非常に似ています。癖は異なります。サーブレットは、リクエストを処理するJavaコードのチャンクの名前です。それは本当にそれです。元のStrutsフレームワーク全体が単一のサーブレットでした。
学習するテクノロジーのリストにTomcatまたはJettyを追加します。Tomcatは元のJavaサーブレットコンテナの実装であり、完全な機能を備えた人気のあるWebサーバーでもあります。GlassFishはその上に構築されています。新しいプロジェクトでは、Tomcatの代わりにJettyを使用しています。これは、Jettyがシンプルで、柔軟性があり、高速であるためです。Jettyは、WebアプリではなくWebサービスを作成するために設計されました。ただし、Webアプリは生のHTTPリクエストに応答してHTMLを提供するWebサービスにすぎないため、HTTP(数時間から1日で重要な部分を学習できる)を理解していれば、非常に簡単に作業できます。
TomcatとJSP(こちらのチュートリアルまたはJSF)を使用して小さなWebサイトを作成し、自分が知っていることだけを知って、チュートリアルを数時間費やしてください。そうすれば、ストレッチする前に快適な場所から始めることができます。次に、「<html> <head> <title> Hi </ title> </ head> <body> <h1> Hello World </ h1> </ body> </ html」と記述するjavax.servlet.http.HttpServletを作成します。 >」を応答オブジェクトに追加し、Tomcat web.xmlにリストして、WebブラウザーからHTTP要求を送信します。それはロケット科学ではありません。すべてのJava Webフレームワークは、これら2つの基本的なアクティビティのバリエーションです。
Jettyルートに行くと、さらに構造化されていません。このHello Jettyの例をご覧ください。
ブログや標準のeコマースサイトを作成するだけの場合は、SquareSpaceやWordpressなどから始めます。既製のものがたくさんあるので、カスタムコーディングを正当化する方法はもうありません。
Webアプリケーション用のJavaの強みは、信頼性、保守性、およびパフォーマンスです。PHPまたはRuby / Railsはよりシンプルですが、Javaは必要に応じて拡張できます。私は、Java Webフレームワークに夢中になりません。大規模なWebアプリケーションで作業しているチームがある場合、またはHibernateを使用する必要がある場合は、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を完全にスタブアウトすることに成功しました。
すでに最も重要なスキルをいくつか持っています。他の人を1つずつ連れて行き、圧倒されないようにしてください。