まとまりのないブログ

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

シンプルな家計簿(仮) バージョン0.940公開

シンプルな家計簿 バージョン0.940はこちらから https://www.crossdrive.net/wp/software/cdn-01 バージョン0.940の変更点は主にホームタブ画面の再構成 …

no image

掃除したらマウスのチャタリングが直った

長年パソコン使っているとマウスの不調が来て買い換えるということが多くなるが、不調が来たマウスを捨てずに取っておいたらどんどん溜まってきた。マウスの不調の原因は主にチャタリングやスクロールボタンの不具合 …

no image

東京オリンピック サッカー&バドミントン 組み合わせ

東京オリンピック バドミントン 組み合わせ&日程 東京オリンピック サッカー 組み合わせ&日程

SteelSeries Flux の良さを語る

私が愛用しているSteelseriesのfluxという名前のヘッドセットについてあまりにも良いのでその良さをまとめる。同じ名前でイヤホンタイプも販売されていたようだがここでは頭に装着するヘッドホンタイ …

no image

thinkpad ls510のcpuの換装について

現在より約10年以上前に発売されたthinkpadの機種であるsl510というモデルのcpuを交換してみた。 現在装着されているcpuはceleron dual core t3000という型番のものが …