php-バックエンドのJavaサーブレットでフロントエンド(ビュー)レンダリング機能が優れているテクノロジーはどれですか?
検索エンジンのようなウェブサイトを作成しようとしています。 バックエンドには、リクエストを処理してレスポンスを返すJavaサーブレットがあります。
フロントエンドに何を使用すればよいかわからないため、バックエンドとフロントエンドを完全に(または可能な限り)切り離しておくことができます。また、これらのいずれか(または他のいくつか)が最も多くの機能を備えています。 いくつかのオプションは次のとおりです。
- フリーマーカーテンプレート
- JSP
- PHP
助けてください。どうすればこのアイデアを進めることができますか?
答え :
解決策:
サーブレットAPIは、ビューテクノロジとしてのPHPとのシームレスな統合を提供します。 PHPでは、 curl
とコンソートを使用してサーブレットへのHTTPリクエストを呼び出すか、サーブレットをWebサービスとして提供し、JS/Ajaxを使用して生成されたPHPで結果を取得する必要があります。出力。それは不必要に不器用で高価になってしまうかもしれません。
Javaベースのビューまたはテンプレートテクノロジーを使用します。 JSPはサーブレットと連携するため、最適です。検索結果をリクエスト属性として保存し、リクエストをJSPに転送してから、JSPでtaglibs/ELを使用して表示します。
より多くのテンプレート機能が必要な場合(例: HTML出力、電子メールメッセージ、またはHTTPリクエストを必要とせずにプログラムで出力を生成したい目的の両方に同じテンプレートを再利用する場合は、Freemarkerの方が適しています。
関連項目:
答え :
解決策:
JSPはサーブレットであるため、適切に行われなくても開発を簡単に結合でき、JSPがビューとしてのみ残るようにします。
PHPは別の言語であるため、完全に分離する必要があります。
フリーマーカーテンプレート-私はこの製品を使用したことがないため、何もお勧めできません。
別のオプションは、ビューにJavaScript/HTMLを使用することです。サーブレットはデータを提供し、JavaScriptはクライアント側で実行してビューを作成できます。
もちろん、どのオプションも機能しますが、それは、経験したテクノロジーと時間枠によって決まります。時間枠が短く、Javaとサーブレットに既に精通している場合は、JSPを使用してフロントエンドビューをレンダリングすることからそう遠くはありません。私の好みは、Jax-RSを使用してデータをJSONとしてJavaScriptフロントエンドビューに提供するサーブレットバックエンドです。
答え :
解決策:
Javaで動的Webページを作成する通常の方法は、ブラウザに送信されるhtmlを作成するサーブレットをサーバー上に配置することです。 JSPやFreemarkerテンプレートなどのテクノロジーは、HTMLの作成を容易にするサーブレットの拡張機能として設計されています。つまり、JSPページは、デプロイ時に純粋なサーブレットにコンパイルされます。
htmlを作成するテクノロジーを、作成したサーブレットから完全に切り離したい場合は、静的htmlとajaxを使用します。この方法でシステムを作成します:
javascriptを使用して静的なhtmlページを作成します。 jqueryのようなjavascriptライブラリを使用します。
-
サーブレットを作成して、パラメーターを受け入れ、json形式のデータを使用して応答するようにします。
-
サーブレットにクエリを送信し、応答に基づいてhtmlコードを変更するJavascriptをhtmlページに記述します。
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。