【Java & Tomcat】サーブレットクラスの作成(サンプルプログラム付)

  • このエントリーをはてなブックマークに追加
  • Pocket

サーブレットとはJavaでWebアプリケーションを作るときの仕様(仕組み)だ。そのサーブレットを実際に作成してみよう。

サーブレットの処理の流れ

サーブレットを作成するために、まずその処理の流れを理解しておこう。最初に、クライアントからのリクエストがWebコンテナに届く。リクエストを受け取るとWebコンテナはリクエストの処理を行うためのサーブレットを選択しなければならない。その選択は、Webコンテナがリクエストの中に含まれるURLパスをサーブレットにマッピングする(紐付けする)ことにより行われる。

  

URLパスはコンテキストルートとURLパターン(url-pattern)を含んでいる。

これがURLパスの形式である。

http://host:port/context-root[/url-pattern]

Webコンテナは、このふたつの情報からサーブレットを選択する。Webコンテナにより選択されたサーブレットはレスポンスをクライアントに返す。

URLパターンの宣言

サーブレットのソースファイルの中で、@WebServletアノテーションを使うことによってサーブレットのためのURLパターンを宣言する。

書き方の基本は簡単だ。

@WebServlet("/url-pattern")

例えば、次のようなURLにサーブレットを割り当てることを考えてみよう。

http://localhost:8080/Servlet/HelloWorld

このような時は、@WebServletアノテーションを使って次のようにURLにサーブレットを割り当てることができる。(この場合、context-rootはServletとする。)@WebServletにURLパターン:/HelloWorldを宣言する。これによってURLパターンとサーブレットがマッピングされる。

この関係をまとめてみると次の図のようになる。Webコンテナがリクエストの中のURLパスに含まれるコンテキストルートServletとアノテーション/HelloWorldからサーブレットを選択する。

これで、サーブレットが選ばれることになるのだが、サーブレットの処理の流れはまだ続く。次は、サーブレットにクライアントからのリクエストが渡された後の処理である。いよいよサーブレットの中に入って行く。

サーブレットクラス

クライアントからのリクエストはWebコンテナによってマッピングされたサーブレットに渡され、そのサーブレットがリクエストの中にあるメソッドに対応した処理を行う。メソッドには、次の図が示すようにメソッドGET、POSTなどいくつかの種類がある。

サーブレットクラスはHttpServletクラスを継承して作成される。このサーブレットクラスで、リクエストのメソッドGETに対応したdoGet()、POSTに対応したdoPost()などの親クラスHttpServletのメソッドをオーバーライドして要求にあった処理を記述する。

この例では、サービスメソッドのdoGet()をオーバーライドしている。このdoGet()メソッドの中に、レスポンスとしてクライアントに返すデータの処理や表示する画面をHTMLで記述することになる。

では、実際のサーブレットの作成をサンプルプログラムで見てみよう。

シンプルなサンプルプログラム

このサンプルプログラムでは、先に説明したようにリクエストのGETメソッドの処理をdoGet()メソッドで実装している。サーブレットは、シンプルなHTMLで書かれた画面を出力する。

実行結果

ブラウザにURL:http://localhost:8080/Servlet/HelloWorldを入力し、Enterを押す。

表示されるブラウザ画面:

サンプルプログラムの説明

それでは簡単にプログラムの解説をしてゆこう。

  • [1] アノテーションの宣言をする。
  • [2] HttpServletを継承して、HelloWorldクラスを定義する。
  • [3] doGet()メソッドをオーバーライドして定義する。
  • [4] Content Typeを設定する。
  • [5] HTMLを出力するためのoutオブジェクトを取得する。
  • [6]-[9] outオブジェクトに「Sample」と「Hello World!」を表示するHTMLコードを出力する。

まとめ

このページではサーブレットの作成方法について簡単に紹介した。サンプルプログラムなどを実際に動作させて各所の働きを確認していこう。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できます。

IT講師に興味はありませんか?

・「今までIT講師をやってきたが、更に多くの講義を行いたい」

・「エンジニアとしてやってきたが講師業に魅力を感じている」

・「講師として活躍するためにベースとなる知識を知りたい」

・「様々な分野や言語の講師にチャレンジしてみたい」


という方はぜひIT講師募集のページをご覧ください。


リスキルテクノロジーでは「受講している方々にITを好きになってもらう」ことを目標に、同じ目標に向かって歩んで行ける講師の方を常に探しています。


システム開発やインフラ構築などのエンジニアリング経験を活かし、新入社員などの未経験者や経験の浅い初学者の方々に対してITトレーニングを行っていただくことになります。


テキストやカリキュラムは事前に用意されており、それらを元に講義を進めていくため、IT講師をはじめて実施する方でも安心してトレーニングを実施できます。


IT講師募集のページを見る

SNSでもご購読できます。

コメントを残す

*

未経験からの育成制度も充実
IT講師に興味はありませんか?

リスキルテクノロジーでIT講師の積極募集を開始! 経験・未経験問わずご応募可能。育成制度で講師スキル向上も目指せます

IT講師に応募する