サーブレット

サーブレットとは?

 今,最もJavaが使われている分野が「サーブレット」でしょう。アプレットがクライアントのブラウザで動くのに対し,サーブレットはサーバーで動きます。サーブレットには以下のような特徴があります。

  • クライアントからのリクエストに基づいて,ダイナミックにWebページを作成できる。
  • データベースや他のJavaアプリケーションと通信を行うことができる。
  • サーブレットは,一度サーバーでロードされると,プログラムはスレッドとして起動する。CGI(Common Gateway Interface)のように,リクエストのたびにプロセスを起動する必要がないため,高速。

 また,サーブレットは,Javaプログラムなので,サーバーの種類はWindowsでも,UNIXでもOKです。WindowsではASP(Active Server Pages)という技術を使うことで同じようなことができますが,ASPを利用した作ったサーバーアプリケーションをUNIXに移行させる場合には,コーディングをし直す必要があります。

 Javaサーブレットの実行にはサーバーのサーブレットエンジンが必要になり,開発はそのサーブレットエンジンと同じバージョンのJDKが必要です。サーブレットエンジンとは,ApacheなどのWebサーバーで、サーブレットを動作させるために拡張するモジュールです。サーブレットエンジンには,mod_dkや,JRunなどがあります。

JSP(JavaServer Pages)とは?

 JSPは,HTMLの中に,サーブレットを直接記述できるようにしたものです。HTMLにプログラムを組み込むという点についてはアプレットに似ていますが,JSPの基本はサーブレットなので,プログラムはサーバ上で動作します。JSPでは,HTMLの中のJSPプログラムが呼ばれると,サーブレットを動的に作成して,サーバー上で動作させることができます。

JSP

JSPの特徴

 JSPはHTMLファイルに記述します。以下に簡単なJSPの例を紹介します。

<html>
<head><title>Hello JSP!!</title></head>
<body>
<p>
<%
     String c = "Hello JSP!!";
     out.println(c);
%>
</p>
</body>
</html>

 上記のHTMLがサーバーに対してリクエストされると,ブラウザには「Hello JSP!!」と表示されます。ここで見慣れないタグ「<%%>」がありますが,この<%から%>で記述されていた部分が,Java言語で記述されたサーブレットの部分です。

 JSPのメリットはHTMLに直接記述するので,コンパイルの必要がないことです。そのため,HTML部分とJava部分を上手く切り分けると,Web上のデザインと並行して作業が行えます。もちろん,実行する場合はあくまでサーブレットですから高速性もそのままです。

JavaスクリプトとJavaの違い

 Javaについて間違いやすいのは,Javaスクリプト,アプレット,JSP,サーブレットの違いです。以下に特徴を間単にまとめておきます。微妙な違いをしっかり把握しておいてください。

  • Javaスクリプトは,HTML上に記述するスクリプト言語で,ブラウザが直接実行する。JavaスクリプトはJava言語ではありません。
  • アプレットは,HTMLと共にダウンロードされ(クラスファイルというファイルがダウンロードされる),ブラウザに組み込まれたJava仮想マシンが実行する。アプレットのクラスファイルは,Java言語のソースコードをコンパイルして作る。
  • JSPはHTML上に直接記述できるJava言語で,自動的にコンパイルされサーバー上のサーブレットエンジンで実行できる。
  • サーブレットは,サーバー上で動作するJavaプログラムです。アプレット同様,Java言語で記述され,コンパイルしてクラスファイルにする必要があります。
JDK

JDKとは

 JDKとは,Java Development Kitの略で,Javaでの開発のために必要な,コンパイラなどのツール群のことです。Javaの勉強をするためには,このJDKを入手しなければいけません。JDKは,サンマイクロシステムズのホームページから無償でダウンロードすることができます。

JDKのエディション

 JDKには,用途に合わせて以下のようなエディションが用意されています。

  • J2EE (Java2エンタープライズエディション)
    主にサーバー上で利用される環境で,電子商取引やデータベース接続などのプログラムを開発するために用意されている。ネットワークやインターネットサーバーにインストールされる。Java仮想マシンは「HotSpot」と呼ばれている。
  • J2SE (Java2スタンダードエディション)
    主にディスクトップやクライアントマシンなどで使われる環境。予習講座でも例題のJavaのソースコードをコンパイルしたり,Javaのアプリケーションを実行するためにインストールが必要。Java仮想マシンは「JVM」と呼ばれる。
  • J2ME (Java2マイクロエディション)
    主に,携帯電話やPDA,家電などの組み込み用コンピュータのための環境。iモードもこのエディションの実行環境をカスタマイズして使用している。J2MEは,J2SEのサブセット。

 次回は,Javaプログラムの作成から実行までの流れと,Java言語を習得する際のコツについて解説します。