まとまりのないブログ

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

レイアウトの位置設定でframeで設定する場合とpositionで設定する場合の違い

iosのUIButtonの配置で気になったのでメモ。 var myButton: UIButton! // Buttonを生成する. myButton = UIButton() // サイズを設定する …

no image

BIGLOBEモバイルに電話認証が追加されていた件

※認証は通話料無料でできるように改善された模様 契約しているのビッグローブの管理画面にログインしようとしたらいつの間にか電話認証を求められるようになっていた。 マイページの「お客さま情報」にアクセスす …

SG-77010

シルバーグリス tt-7025-tu10

シルバーグリス tt-7025-tu10という製品について。熱伝導率は8.2W/M.kで容量は10g。値段は1000円以下で購入できる格安のCPUクーラーに利用するシルバーグリスで性能は可もなく不可も …

no image

日本が突然バドミントン強豪国になったのはラリーポイント制のせい

バドミントンのラリーポイント制の導入 2006年に競技規則が改正されラリーポイント制が正式に導入された。 http://bmuseum.g1.xrea.com/SHORUI/a1.files/Rule …

no image

インテルSSDの歴史

発売日 品名 型番 規格 備考 2008/09 X25-M Mainstream SSDSA2MH080G1GN 2.5inch Serial ATA(3Gbps) MLC NAND,第1世代モデル, …