図で分かるサーブレットのライフサイクルとスレッド:初心者のためのサーブレット/JSP入門(5)(1/3 ページ)
初めてJavaのWebアプリを作ってみたいという人に向けて、サーブレットのライフサイクルとスレッドについて解説する。
※本稿は、秀和システム発行の書籍『Javaサーバサイドプログラミング パーフェクトマスター(2015年12月21日発行)』の中から、特に@IT読者に有用だと考えられる箇所を編集部が選び、著者及び出版社の許可を得て転載したものです。
ご注意:本稿は、タイトルを除き、書籍の内容を改変することなく、そのまま転載したものです。このため用字用語の統一ルールなどは@ITのそれとは一致しません。あらかじめご了承ください。
サーブレットがリクエストされた回数をカウントする(サーブレットのライフサイクル)
サーブレットにフィールドを定義しておくと、フィールドの値を複数のクライアントで共有できます。Javaの静的なフィールド、(クラス変数)のようにも思えますが、れっきとしたフィールド(インスタンス変数)です。Javaの教科書どおりに考えれば、クラス変数はクラスに1個だけ、インスタンス変数はインスタンスの数だけ作成されるはずですが、サーブレットのインスタンスは1個しか生成されないので、当然、サーブレットのフィールドは1つだけです。
int型のフィールドを持つサーブレットを作成
「プログラムの処理としてはごくシンプルなものです。int型のフィールドを用意して、doGet()メソッドが呼ばれるたびに値を1加算するだけです」
「通常のGETリクエストがあるとdoGet()が呼ばれるので、メソッド内部で1を加算すればいいですね」
「あと、プログラムの動作が確認しやすいように更新用のリンクを画面に表示しましょう。a要素のリンク先をサーブレット自身にしておいてください」
「リンクをクリックするたびにサーブレットがリクエストされるようにしておくのですね。じゃ、作ってみます」
「では、実行してみます」
「別のブラウザーを起動してリクエストしても、引き続きリクエスト回数が加算されていきますね」
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Strutsを使い続けることの問題点&現在有力なJava EE、Spring、Play Frameworkの基礎知識とアーキテクチャ
新規のエンタープライズJava開発において現在有力視される3つのフレームの違いについて解説する連載。初回は、Strutsを使い続けることの問題点と3つの概要、アーキテクチャ、使い分けについて。 - Eclipse 3.4で超簡単Javaプログラミング基礎入門
これからプログラミングを学習したい方、Javaは難しそうでとっつきづらいという方のためのJavaプログラミング超入門連載です。最新のEclipse 3.4とJava 6を使い大幅に情報量を増やした、連載「Eclipseではじめるプログラミング」の改訂版となります - Struts後時代のJava EE/Javaモダン開発はどうあるべきか〜JJUG CCC 2014 Springまとめリポート(前編)
Java EEにおいてJava 8はどこまで利用できるのか、Java開発でGit、CI、継続的デリバリは、どこまで有効なのか、Struts後時代のJava EE開発における有効なフレームワークなどをお伝えする。