- PR -

Firefoxの場合、一つのPC、複数ブラウザ間でセッションが共有される?

1
投稿者投稿内容
RIN
常連さん
会議室デビュー日: 2006/10/11
投稿数: 21
投稿日時: 2009-02-04 10:33
画面Aボタンを押した内部処理のプログラム:
private static final String SESSION_ID = "ONESESSION";

HttpSession session = request.getSession();
ListSessionBean sessionBean = (ListSessionBean)session.getAttribute(SESSION_ID);
if(sessionBean.getAItem().equal("A"))
......
}
session.removeAttribute(SESSION_ID);


同じPCでブラウザ(Firefox)二つ開く、同じ画面にアクセスする。
(二番目のFireFoxの開く方は一番目と同じ)

ブラウザ1
ブラウザ2

ブラウザ1内のAボタンを押した後、ブラウザ2のAボタンを押すと
if(sessionBean.getAItem().equal("A"))行に nullExceptionエラーが
発生してしまう。デバッグしてみると、sessionBeanが既にnullになって
いたのです。
上記動作はIE環境でエラーが発生しませんでした。

FireFoxでブラウザごとにセッションを管理していないのでしょうか?
上記現象を回避する方法がございましたら、ご教授お願いいたします。

どうぞよろしくお願いします
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2009-02-04 11:26
何度起動してもプロセスが1つにまとまるため、
そのような挙動になるようですね。
確認したところ起動した瞬間だけプロセスが増えましたが、
直ぐに1つのプロセスになりました。

ネットで拾った内容で恐縮ですが、
http://sawano.members.icraft.jp/wp/2008/12/10/1108.html
をみると、簡単にはできないけど可能ではあるみたいですね。

ちなみにIEでも同じように、
Ctrl+Nで開いたときは同じプロセスになりますので、
セッションIDは同一になります。
1

スキルアップ/キャリアアップ(JOB@IT)