2006 年 9 月 15 日 23 時 55 分

Java Servlet & JavaServer Pages


このアーカイブは同期化されません。 mixi の日記が更新されても、このアーカイブには反映されません。


ASP から遅れること 1 年、
Java はいかにも Java らしい答えを市場に示した。
Java Servlet と JavaServer Pages である。

Applet が、小さな(let)アプリケーションなら、
Servlet とは、小さなサーバプログラムと訳できる。

Servlet は、Servlet API で定められた規格に沿って、
Java 言語で書かれたサーバ側プログラムのことである。
Servlet API は SSJS や ASP の例を生かし、
オブジェクト指向で明確にクラス化されている。

Java らしく、Servlet の実行は特定の製品に限らず、
Java のコア規格と Servlet API を実装していれば、
どのようなソフトウェア上でも実行が可能である。
この機能を満たし、Servlet を実行する側の機構を、
Servlet Container と呼ぶ。

また、Servlet は WWW だけの規格ではなく、
サーバ側で実行するプログラム向けの汎用規格であるため、
理論上は、データ通信を行う他のプロトコルで利用できる。
もちろん、HTTP に特化した実装も存在する。

Java Servlet は、純粋にプロトコルを
クラスにラッピングしたものであるため、
ASP や SSJS、PHP と異なり、
HTML 埋め込み形式の機構は持たない。

Java では、このような埋め込みスタイルの開発は、
HTTP Servlet を更にクラス階層でラッピングした、
JavaServer Pages (JSP) という API で実装されている。

JSP も、ASP や SSJS、PHP と同じように、
HTML の一部に Java のソースコードを埋め込む手法だが、
Java では少し考え方が違う。

JSP API は、Servlet の上の階層にあたるクラスなので、
れっきとした Java クラスである。
JSP を使って作成するページは、
JSP のクラスを継承しているので、
基本的には Java ソースコードである。

JSP で HTML に Java コードを埋め込んだページは、
JSP ページのコンパイラ(コンバータ)によって
JSP API を呼び出す Java ソースコードに変換される。
つまり、HTML が Java ソースコードに展開されるのだ。

また、Java はコンパイル型言語であるため、
例え JSP で書いたページであっても、
要求時に必要に応じて動的にコンパイルされ、
実行時にはコンパイルされたバイトコードで実行される。

また、Servlet が実行される時は、
Servlet Container が Servlet を常駐させるため、
バイトコードと組み合わせて実行性能が高いのも特徴だ。
その分サーバ側の負担は高くはなってしまうが、
反応性能を求められる大規模なプログラムに向いている。

このように、必要な機能を軽量のクラスで抽象化し、
それらを階層化することで、高水準から低水準まで、
幅広くかつ効率よいプログラミングが可能なのが、
Java の面白いところである。



Copyright (c) 1994-2007 Project Loafer. All rights reserved.