
JAVAのセッション変数の上書きについて
ある画面からセッションに"Data1"というキー名でデータを保存しています。
操作1、画面1で"Data1"をgetし、Data1の中身を変更後、処理の最後にこの"Data1"をセッションに保存
操作2、画面2で画面1の最後に保存したData1を使用して画面表示
操作3、画面2でボタン押下すると再度、Data1を取得して処理を行う。
上記のように別の複数の画面(同一Window)でこの"Data1"を使用するのですが
操作1の処理中(長時間かかる)に画面をCloseして、
まったく関係ない情報に対して画面2を表示すると画面表示時は画面とData1は同期が取れているのですが
操作1の終了後に"Data1"が上書きされてしまい、画面表示内容とセッション変数Data1の内容が
不一致を起こしてしまいます。
なにか良い対策方法がございましたら、ご指導お願い致します。
もうひとつ、session.getAttributeで変数取得後にセッション変数が上書きされた場合
、取得したデータには影響ありませんか?
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
Data1に関して。
画面1→画面2と遷移するわけではないのに、画面2では画面1の処理に依存しているってことなのでしょうか。自分にはちょっとよく分からないですね。。。すみません。
>session.getAttributeで変数取得後にセッション変数が上書きされた場合、取得したデータには影響ありませんか?
これは、
String str = "auau";
session.setAttribute("auau", str);
String sesStr = (String) session.getAttribute("auau");
str = "auauauau";
System.out.println(sesStr); //この時どうなる? 1
String[] strArray = {"hoge","hogehoge"};
session.setAttribute("hoge", strArray);
String[] sesStrArray = (String[]) session.getAttribute("hoge");
strArray[0] = "hogehogehoge";
System.out.println(sesStrArray[0]); //この時どうなる? 2
という意味で合ってますか?
1は"auau"(影響なし)、2は "hogehogehoge"(影響あり)となります。
これはsession云々の話ではなく、単純に値渡しと参照渡しの違いですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPで入力フォームでデータを確認表示画面まで送る流れを日本語で理解したいのです。 1 2023/05/29 19:12
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
- フリーソフト 倍率自動調整して全画面表示できるフリーの画像ビューアー 1 2023/08/24 10:55
- Excel(エクセル) エクセル シート内のボックスを縦並びから横並びに 7 2023/04/05 04:28
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- PHP php 入力画面から確認表示画面へ情報の受け渡しについて。 1 2023/06/07 18:00
- PHP 掲示板のセキュリティについてアドバイスお願い致します 1 2023/08/11 20:44
- PHP php 確認表示画面で値をSESSIONから取り出す理由の解釈は正しいでしょうか? 1 2023/06/09 17:39
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フレームの副画面側のページを...
-
管理画面へのアクセス制限
-
IEの開き方を通常に直すソース...
-
ダイアログ内での遷移方法
-
←戻る → を無効にする方法
-
PCの画面上の任意の点から色を...
-
AjaxでJDBC利用
-
EC-CUBEを旧バージョンにする方...
-
画面1の情報を画面2に表示させ...
-
Perlのsubmitパラメータ(encode...
-
windowsアプリケーションの画面...
-
前画面の値を引き継ぎたい。
-
php値の受け渡しで旧情報に上書...
-
COBOLのAT
-
VBS/HTA:画面のサイズを取得す...
-
ブラウザを閉じる時のイベント
-
画面に固定の方法
-
Iphoneアプリ開発について
-
画面の消し方
-
fc2のブログで、見ている人のそ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
三菱GOTの画面切り替えについて
-
C言語で今まで表示していた画面...
-
Java-jspの画面入力値保持について
-
登録後、呼び出し元ページに戻...
-
C# ログイン画面からメイン画面...
-
【C#】 FormClosingのイベント...
-
FormのsubmitでFormの内容がnull
-
location.hrefでページ切替時の...
-
ASP.NET 画面遷移前の状態を保...
-
Javaプログラミングの質問にな...
-
java初心者です。 画面Aで情報...
-
遷移元を判定したい!
-
セッション切れでのリクエスト...
-
画面を隠す・消す方法を教えて...
-
window.open()使用サブウィンド...
-
【JavaScriptわからない】1クリ...
-
MFCプログラミング
-
javaのstrutsを使った画面遷移...
-
子画面でもう一つ教えて下さい
-
CSVダウンロードでウィンド...
おすすめ情報