Strutsでinit()したい

Struts使っていたら,サーブレット起動時に一発だけ走らせたい処理が出てきた。普通のサーブレットならinit()の中に書けばいいんだけど,Strutsではどうするの? Torque.init() とかみんなどうしてんだろ。
考えてみると,ActionServletはサーブレットを継承している(だろう)からinit()が使えないことは無いだろう。調べてみると,以下の手順でできるようだ。

  • ActionServletを継承したクラスを作る
  • その中でinit()をオーバライドする
  • ただしsuper.init()を忘れないように(Strutsの初期化が走らなくなる..と思う)
  • 標準のActionServletとさしかえるためには,web.xmlの以下の行を書き換える
action
org.apache.struts.action.ActionServlet

action
jp.co.hogehoge.hoge.MyActionServlet