サーブレットの実体は、Javaのクラスです。Webサーバーに格納されたサーブレットクラスは、アクセスがあると、Webサーバーと連携したアプリケーションサーバーによって実行され、実行結果をHTMLで出力します。出力されたHTMLは、クライアントへレスポンスとして送信されます。
サーブレットクラスをプロジェクトに追加する
1. [プロジェクト]タブでプロジェクト名を右クリックして[新規]→[サーブレット]を選択します。
2. [クラス名]に「Servlet01」、[パッケージ]に「com.example」と入力します。
3. [次>]ボタンをクリックします。
4. [サーブレット名]に「Servlet01」と入力します。サーブレットクラスの正式名は「com.example.Servlet01」ですが、アプリケーション内部では「Servlet01」で認識できるようにします。[URLパターン]は、サーブレットにアクセスするためのURLです。デフォルトで「/Servlet01」となっていますが、この場合、「http://localhost:8080/ServletApp01/Servlet01」でアクセスできるようになります。特に変更する必要はないので、デフォルトのままにしておきましょう。
5. [終了]ボタンをクリックすると、サーブレットクラスが作成されます。
「手順どおりに操作すると、プロジェクトの『ソース・パッケージ』フォルダーに『com.example』パッケージが作成され、内部に『Servlet01.java』というソースファイルが作成されます」
サーブレットを作成すると、サーブレットのソースファイルが保存され、コンパイルとデプロイが自動的に行われます。
パッケージは、内部に含まれるクラスに付けられるグループ名(名前空間名)です。例え同じ名前のクラスが複数存在しても、パッケージ名で別のクラスとして識別できるようにするために付けます。
パッケージ名には、基本的に、変数やメソッドと同様に小文字を使います。外部に公開する場合は、使用しているドメイン名を逆順に並べた「com.example」(注:example.comは実在するドメインではなくテスト等に使用する架空のドメインです)のような文字列に、パッケージの内容がわかるような文字列を組み合わせた名前にします。
ドメイン名を逆順にした文字列 + パッケージの内容がわかる文字列
com.example.game com.example.access
ただし、外部に公開するのでなければ特にドメイン名を使用する必要はないので、任意の名前を付けておけばOKです。
プロジェクトに存在するHTMLファイルやサーブレットは、アプリケーションサーバーにデプロイされることで外部に対して公開されます。この場合、ブラウザーからは対象のページのURLを指定してアクセスします。プロジェクトの「Webページ」フォルダーに配置したindex.htmlやindex.jspといったファイルはトップページとなるので、アクセスする際のURLは次のようになります。
http://サーバー名/アプリケーション名/
サーバー名は、サーバーを特定するためのインターネットドメイン「example.com」や、サーバー名にドメイン名を加えた「www.example.com」のようになり、ローカル環境でサーバーを稼働させている場合のサーバー名は「localhost」です。ただし、GlassFishはWebサーバーへのアクセスに用いられる80番ポートではなく、8080番ポートを使用しますので、「www.examp le.com:8080」や「localhost:8080」のように8080番ポートを指定します。
アプリケーション名とは、すなわちプロジェクト名のことです。
サーブレットを作成する際に「URLパターン」というものを設定しました。これはサーブレットをリクエストするための名前で、作成時に任意の名前を付けることができます。サーブレットのソースファイルの名前とはまったく関係がなく、あくまでリクエスト用の名前です。
「Servlet01.java」ファイルで定義したサーブレットクラス「Servlet01」に対して「servlet」というURLパターンを設定した場合は、次のURLでリクエストします。
http://サーバー名/アプリケーション名/servlet
Javaサーバサイドプログラミング パーフェクトマスター
金城俊哉著
秀和システム 3,780円
Javaははじめてですか? でも、しり込みしなくたっていいんです。いきなりサーバサイドからはじめましょう!
本書は、Webエンジニアを目指す人のために対話形式でJava
EEを基礎からストア構築まで動かしながら学べる解説書です。Javaサーブレットを学び、Java
EEを極めていく一方、初心者のためにコラム形式でJavaの基本も説明します。実行環境の構築、ロジックの作成、データベース連携まで動かしながら覚えられます!
Copyright © ITmedia, Inc. All Rights Reserved.