前回作成したものを基に、データのロード・セーブができるようにしてみました。いっても、セーブするオブジェクトについてSerializableを実装すると宣言して(マーカなので、宣言するだけで何も実装しませんが)、後は掲示板の板のオブジェクトをセーブするだけです。それにつながるメッセージのオブジェクトも根こそぎセーブされるので、とっても便利です。いや、これは、本当に便利です。ロードも、板のオブジェクトをロードすると、メッセージのオブジェクトもロードされるので、楽ちんです。ロードし損ねたら、新しい板のオブジェクトを作るようにしました。いうわけで、簡単にロード・セーブを実現できたのですが、一つ問題が。本当は、destroy()メソッドでセーブして、init()メソッドでロードするのだと思いますが、JSDK2.0のservletrunnerを実行するバッチファイルを^Cで止めているためか、destroy()メソッドが呼ばれません。しかたなく、doPost()メソッド内で毎回セーブしています。CAFEの山根さんからリンクしました、とのお知らせが。拝見してみると、おそれ多いことに、大御所に並んで私のサイトが。ううむ、まぁ、ピンからキリまで、ということで。destroy()メソッドが呼ばれないので、doPost()メソッドで処理している。}}本日の教訓Servletの状態をロード・セーブするには、destroy()でセーブして、init()でロードしよう。destroy()が本当に呼ばれるか、確認すること。それにしても、Serializationは便利。Servlet日記(1999/08/28)。