まとまりのないブログ

something which something is something

jsp 雑記・雑学

JAVAサーブレットクラスの初期化

投稿日:

JAVAサーブレットのクラスを初期化するときの方法について何種類かあるので迷ったので覚書き。
かんたんなサーブレットクラスを作ってテストしてみた。

public class InitTest extends HttpServlet{
	
	static{
		System.out.println("static medhod called");
	}
	
	public void init() throws ServletException{
		System.out.println("init medhod called");
	}
	
	public InitTest(){
		System.out.println("class constructor called");
	}

	public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		System.out.println("http doGet called");
	}
	
}

1番めはstaticメソッド。initilizerとも呼ばれる。staticなinitilizerで呼ばれるタイミングは一番早い。
2番めはinitメソッドでインスタンス作成後に一度だけ呼び出されるらしい。
3番めはコンストラクタでインスタンス作成したときに呼び出される。

で、上記クラスをTomcatで実行してhttpでアクセスしてみたら

static medhod called
class constructor called
init medhod called
http doGet called

という順番で呼び出された。staticメソッドとクラスのコンストラクタのどちらを使おうかと迷っていたらクラスのinit()メソッドというのも存在していて余計にややこしくなった。init()メソッドは今まで使ってこなくても何の問題もなかったのでJAVAサーブレットで開発をしている上では無視しておいてもいいんじゃないだろうか(適当)
JAVAサーブレット自体がクラスのインスタンスを1つしか作成しないようになっていていくつもインスタンスを作るようなものだったらstaticメソッドを使うかコンストラクタを使うかとか迷わないんだが。

-jsp, 雑記・雑学

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

関連記事

no image

Javaによるデータのソート方法についての考え – 異なるデータ形式を一つのものとしてソートする場合

データ形式が違う2つのものを合体させてからソートをするというような時,どういう方法があり得るかというのをなんとなく考えてみた。例えば,xml形式のデータと,sql発行の結果データなど,違う形式のデータ …

no image

thinkpad r500とsl510の比較

似たようなスペックのthinkpad r500とsl510を利用することができたのでいろいろと比較してみる。SL510はその当時の製品ラインナップで最も低価格の製品という位置づけだった模様。R500は …

no image

swift – app内課金の実装

itunes connectやdeveloper centerで下準備は済ませているものとして。コードの実装部分のみ。課金の商品は1度きりの購入のよくある広告非表示の商品をイメージ。 処理の流れとして …

no image

No space left on device デバイスに空き領域がありません

Ubuntuサーバーでファイルをmvしようとしたとき、No space left on device となってファイルの移動コマンドを受け付けないようになってしまった。移動できない場合の原因として主な …

no image

SpriteKitのrunActionを遅延させる

SKspriteNodeを遅延させるには let wait = SKAction.waitForDuration(1) someNode.runAction(wait) とかすればすればいい。ループの …