- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:変数を保持し続ける)
変数を保持する方法とは?
このQ&Aのポイント
- ログイン時にユーザー情報を取得し、保持する方法を紹介します。
- エラーが発生してもユーザー情報を保持し続ける方法について考えましょう。
- ネット回線の切断などのエラーにも対応する方法についても解説します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
変数をHttpServletを継承したクラスの インスタンス変数に記述しているの? それじゃダメね。 せめてHttpSessionに格納しなさい。
その他の回答 (1)
- askaaska
- ベストアンサー率35% (1455/4149)
回答No.1
どんなシステムでどんな構造なのかさっぱりなので まったく助言ができないわね。 ひとつのクラスで作成しているのかしら? Appletなのかしら?Servletなのかしら? せめてそのくらいは書いて欲しいわ。 とりあえず、変数は常にスコープ(保持し続ける範囲)を意識して実装するべきよ。 Exceptionもいろいろな種類があって、このときは保持したい、このときは保持したくないってあるだろうし RuntimeExceptionはそもそも発生させちゃいけないとかはお約束だからね。 public変数がどこに記述されているのか分からないけど 発生したExceptionがcatchされるtry-catchブロックの内側に宣言されていたら 当然消えるわね。
質問者
補足
説明不足で申し訳ありません。 まだ、javaをやり始めて間もないので、いまいち構造を理解していません。 前述のpublic変数はそれだけ(ユーザ情報の格納専用)の クラスを用意して、ログイン終了時点で格納するようにしているので、 try~catchの枠外であることは確かです。 ただ、バグなどで、エラーが発生して再度読み込みなおすと、その変数がnullに戻ってしまっているため、 どうしたものかと思い質問してみました。 変数はサーブレットに記述してあります。 以上です。 よろしくお願いいたします。
お礼
使用方法などを調べてみたら 昔、ASP.NETでGetSession、SetSession的な記述があって使用していたのを思い出しました。 それに近い?使用方法なのではないかと思います。 ありがとうございました。