My Photo

« Edyが楽天Edyに | Main | サーブレット・JSPメモ009:includeディレクティブとincludeアクションの違い »

February 14, 2012

サーブレット・JSPメモ008:init(),destroy()のオーバーライド時の注意

init() と destroy() はそれぞれサーブレットの初期化時・終了時に呼ばれる。
init() には引数がないものと ServletConfig を引数に持つものがある。
前者の場合、スーパークラスのinit()を呼ぶ必要はないが、後者ではスーパークラスの init(ServletConfig config) を呼ぶ必要がある。
呼ばないと、もしかしたら厄介な問題になるかもしれない。
たとえば getServletContext() を呼ぶと例外が発生する。super.init(config) を呼び忘れていることに気がつかず結構悩んだ。
destroy() も同様で、必ずスーパークラスの destroy() を呼ぶ必要がある。

public void init(ServletConfig config)
    throws ServletException {
  super.init(config);
  
  // super.init(config) を呼んでいないとここで例外が発生する
  ServletContext context = getServletContext();
}

public void destroy() {
  super.destroy();

  // super.init(config) を呼んでいないとここで例外が発生する
  ServletContext context = getServletContext();
}

« Edyが楽天Edyに | Main | サーブレット・JSPメモ009:includeディレクティブとincludeアクションの違い »

サーブレット・JSP」カテゴリの記事

Comments

Post a comment

(Not displayed with comment.)

TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/26461/53985161

Listed below are links to weblogs that reference サーブレット・JSPメモ008:init(),destroy()のオーバーライド時の注意:

« Edyが楽天Edyに | Main | サーブレット・JSPメモ009:includeディレクティブとincludeアクションの違い »

April 2017
Sun Mon Tue Wed Thu Fri Sat
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            
無料ブログはココログ

日本blog村

  • にほんブログ村 IT技術ブログへ
  • にほんブログ村 アニメブログへ
  • にほんブログ村 サッカーブログ アルビレックス新潟へ

好きな音楽家

メモ

XI-Prof