サーブレット・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」カテゴリの記事
- サーブレット・JSPメモ018:Struts:Struts設定ファイルを分割した際のパス(2012.04.04)
- サーブレット・JSPメモ017:Struts:Tilesの利用(2012.04.02)
- サーブレット・JSPメモ016:Struts:validator-rules.xml(2012.03.27)
- サーブレット・JSPメモ015:Struts:StrutsタグライブラリでInvalidCancelException(2012.03.27)
- サーブレット・JSPメモ014:タグライブラリの利用(2012.03.23)
The comments to this entry are closed.
TrackBack
Listed below are links to weblogs that reference サーブレット・JSPメモ008:init(),destroy()のオーバーライド時の注意:
« Edyが楽天Edyに | Main | サーブレット・JSPメモ009:includeディレクティブとincludeアクションの違い »
Comments