Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

サーバサイドJava入門 サーブレットの実装とWARファイルの作成

第5回 JSPとサーブレットの仕組み

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2007/07/12 14:00

これまでJSPについて解説してきましたが、今回はいよいよサーブレットについて説明します。サーブレットの動作を理解すると、Webアプリケーション開発の知識がさらに深まります。またWARファイルの作り方についても紹介します。

目次

はじめに

 今回は、「サーブレット」についての説明を行います。サーブレットとは、サーバで動く小さなプログラム。このサーブレットこそ、JavaでWeb開発を行う際の最も基本となるものといっていいでしょう。というより、実をいえば今まで説明してきたJSPも、その正体は「サーブレット」だったりするのですから。

過去の記事

対象読者

  • Javaの基本(文法全般および基本的なクラスライブラリの使い方程度)をマスターしている人。
  • サーバサイド(JSP、サーブレット)について基礎から勉強したい人。
  • Eclipse WTPを使った開発に興味がある人。

JSPからサーブレットへ!

 前回まで、JSPの基本的な利用について説明を行ってきましたが、実をいえばサーバサイドで使われるJava技術にはもう1つの形態があります。それが「サーブレット」です。今回は、このサーブレットについて説明をしましょう。

 サーブレットというのは、「サーバで動く小さなプログラム」のことです。Webブラウザで動くアプレットというプログラムがありますが、あれのサーバ版といったものをイメージすればいいでしょう。ただし、サーバで動くものですから、アプレットのようにウインドウやメニューをもったビジュアルなプログラムではありません。基本は、サーバに問い合わせをしたクライアント(Webブラウザ)に対してHTMLベースのテキストを送信する、そういう働きをするものといってよいでしょう。

 では、サーブレットとJSPは、どのような違いがあるのでしょうか。違いを簡単にまとめてみましょう。

  • JSPは、基本的にHTMLの中にタグを使ってソースコードを書くというものですが、サーブレットは「Javaのクラス」です。従って、完全にJavaのクラスとして定義をします。クラスですから、HTMLの出力なども当然すべてソースコードでテキストを書き出す処理を書いて行うことになります。
  • サーブレットはクラスですから、コンパイルしクラスファイルとして作成する必要があります。JSPは、コンパイルなどは不要です。
  • JSPは、サーバが公開しているディレクトリにファイルを配置しておけば、そのファイルにアクセスするだけで表示されます。サーブレットはJavaのクラスですから、ただ公開ディレクトリにおいてあっても、そのままでは動きません。サーバに、特定のURLへアクセスしたらサーブレットを実行するように指定を行う必要があります。
  • サーブレットは、配置する場所や設定ファイルの置き場所など、ディレクトリの構造なども正しく作成する必要があります。JSPは、とにかくアクセスできる場所においておけば使えます。

 全体として、JSPなどよりもかなり厳格に設計し作成する必要があることはお分かりでしょう。必要なファイルやフォルダなどをきちんと用意し、クラスを定義し、それをコンパイルし、公開に必要な定義ファイルを作成配置する。そうしたことを正しく行って、初めてサーブレットが利用できるようになります。

 手作業でこれらを行おうとすると、どうしてもちょっとしたミスをしてしまいがちですが、Eclipseのような開発環境を使えばこうした面倒な処理も簡単に行うことができます。JSPではそれほど便利さを体感しなかった人も、サーブレットになると開発環境のありがたみを感じるようになりますよ。

サーブレットを作成する

 では、実際に簡単なサーブレットを作成してみることにしましょう。Eclipse WTPを起動し、前回までサンプルとして作成してきた「myweb」プロジェクトの中に簡単なサーブレットを用意してみることにします。

 まず、[ファイル]-[新規]-[その他]-[メニュー]を選び、現れた画面で「Web」項目内にある「サーブレット」を選択し次へ進みます。

新規作成の画面では「Web」内の「サーブレット」を選択する。
新規作成の画面では「Web」内の「サーブレット」を選択する。

 次の「サーブレットの作成」画面で、サーブレットに関する基本的な情報を設定していきます。ここでは、次のように項目を設定してください(多くは初期状態で設定済みとなっています)。

設定項目 設定値
プロジェクト myweb
フォルダ \myweb\src
Javaパッケージ jp.codezine
クラス名 MyServlet
スーパークラス javax.servlet.http.HttpServlet
既存のサーブレット・クラスの使用 OFF
注釈付きサーブレット・クラスの生成 OFF
サーブレットの基本的な内容をここで作成する。
サーブレットの基本的な内容をここで作成する。

 次に進むと、「サーブレットの作成」画面がまた現れます。ここで、次のように設定をしておきましょう(多くは初期状態のままでOKです)。

設定項目 設定値
名前 MyServlet
記述 簡単な説明文。任意でいい。
初期化パラメーター 特になし
URLマッピング /myserv
URLマッピング「/MyServlet」という項目を選択して右側の編集ボタンを押し、「/myserv」と変更しておく。
URLマッピング「/MyServlet」という項目を選択して右側の編集ボタンを押し、「/myserv」と変更しておく。

 最後に、作成するサーブレットのクラスとオーバーライドメソッドの実行について設定を行う画面で、次のように記述をします。

設定項目 設定値
修飾子 publicをON、他はOFF
インターフェイス javax.servlet.Servlet
作成するメソッド・スタブの選択 スーパークラスからのコンストラクター、継承された抽象メソッド、doPost、doGetをON
最後の設定をして終了すれば、必要なファイル類の作成と設定情報の設定を自動で行ってくれる。
最後の設定をして終了すれば、必要なファイル類の作成と設定情報の設定を自動で行ってくれる。

 これで、サーブレットのクラスファイルを作るソースコードファイルとサーブレット利用に必要な定義ファイルなどが自動生成されます。


  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 掌田 津耶乃(ショウダ ツヤノ)

    三文ライター&三流プログラマ。主にビギナーに向けたプログラミング関連の執筆を中心に活動している。 ※現在、入門ドキュメントサイト「libro」、カード型学習サイト「CARD.tuyano.com」を公開中。またGoogle+プロフィールはこちら。

バックナンバー

連載:WTPではじめるサーバサイドJava入門

もっと読む

All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5