主な違い: 「JSP(Java Server Pages)」はサーバー側のテクノロジですが、「サーブレット」はサーバー上で実行される小さなプログラムです。 これら両方のJavaテクノロジは、動的Webページの作成に使用されます。
Sun Microsystemsは1999年にJSP(Java Server Pages)をリリースしました。JSPは、HTML、XML、またはその他のドキュメントタイプのWebページを作成するために一般的に使用されているJavaスクリプト言語です。 これらのページには、ページロジックをページの静的コンポーネントのロジックから分離する動的スクリプト機能があります。 それらの基本設計は、実際にはHTMLをより機能的にし、データベースクエリをより動的にします。 Java Server Pages(JSP)をデプロイして実行するには、サーブレットコンテナ(Apache Tomcat、Jettyなど)を備えた互換性のあるWebサーバーが必要です。 JSPは、Javaサーブレットの高レベルの抽象化アーキテクチャです。 実行時に、これらのJSPはサーブレットに変換されます。 JSPサーブレットはキャッシュされ、元のJSPが変更されるまで再利用されます。 JSPは独立して使用でき、サーバーサイドのモデル、ビュー、コントローラ設計のコンポーネントと見なすこともできます。 プログラマは、Webマークアップコンテンツページを作成するために、いくつかの定義済みアクションと共にJavaコードを利用します。 これらのページは、ドキュメントを配信するためにサーバー側でさらにコンパイルおよび実行されます。
JSPページは、スクリプト機能に複数の区切り文字を使用します。 最も基本的なのは、JSPスクリプトレットを囲むことです。 スクリプトレットは、ユーザーがページを要求したときに実行されるJavaコードの断片です。
以下は、JSPページのforループに有効です。
3まで数える:
<%for(int i = 1; i
この数は<%= i%>です。
OK。
その出力は次のように表されます。
3まで数える:
この数は1です。
この数は2です。
この数は3です。
OK。
サーブレットは、Javaアプレットに関連した小さなJavaプログラムです。 それらは基本的にはWebサーバー環境内で動作します。 Servlet仕様は、Sun Microsystemsによって作成され、1997年6月にバージョン1.0が完成しました。開始バージョンは2.3で、現在のバージョンは2013年時点で3.1です。 サーブレットは、サーバーの機能を拡張するために使用されるJavaクラスです。 彼らはあらゆる種類の要求に適切な応答の形で応答します。 基本的なサーブレットパッケージはサーブレットの要求と応答を表すためにJavaオブジェクトを定義します。 サーブレットは、JavaServer PagesコンパイラによってJava Server Pages(JSP)から自動的に生成されます。 技術的には、「サーブレット」は、JavaサーブレットAPIに準拠したJava EEのJavaクラスとして定義できます。
サーブレットはクライアント - サーバープロトコル上のコミュニケータであり、ほとんどの場合HTTPプロトコルと共に使用されます。 それらの基本的な目的は以下のとおりです。
- HTMLフォームデータを処理または保存して送信する。
- データベースクエリの結果などの動的コンテンツを提供します。
- 適切な顧客のショッピングカートへの記事の記入など、ステートレスHTTPプロトコルには存在しない状態情報を管理します。
サーブレットはサーブレットのライフサイクルで動作します。サーブレットのライフサイクルを定義する基本的に3つのサーブレットメソッドがあります。
- その中に()、
- service()、そして
- 破壊する()
JSPとサーブレットの比較
JSP | サーブレット | |
彼らは何ですか | JSPは、動的Webコンテンツを作成するために一般的に使用されているWebページスクリプト言語です。 | サーブレットは、すでにコンパイルされていて動的なWebコンテンツも作成するJavaプログラムです。 |
通常 | JSPは通常、情報の表示に重点を置いています。 | サーブレットは情報処理を重視しています。 |
MVC(Model View Controller)における役割 | JSPはビューアとして機能します。 | サーブレットはコントローラとして機能します。 |
当時のもの | 必要とされるデータの処理がそれほど多くない場合、それらは一般的に好まれます。 | より多くの処理と操作が関係しているとき、それらは一般的に好まれます。 |
走行速度 | JSPはサーブレットと比較して遅くなります。 JSPはJavaサーブレットにコンパイルされます。 | サーブレットはJSPと比較して高速に実行されます。 |
コードの複雑さ | コードプログラミングはサーブレットのそれと比較して簡単です。 | コードプログラミングはJSPのそれに比べて困難です。 |
施設 | ここで、Java Beansを直接呼び出すことができるカスタムタグを作成できます。 | サーブレットにはそのような機能はありません。 |
からなる | JSPは、Javaスクリプト表現とJAVAスクリプトレットを組み合わせたものです。 | サーブレットはフル機能のJavaコードです。 |
オブジェクトの一貫性 | JSPには暗黙的オブジェクトがあります。 | サーブレットにはそのような種類のオブジェクトはありません。 |
例 | レポートを表示します。 | ユーザーが送信したフォームを処理します。 |