![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
初めて投稿させて頂きます。
現在ServletとJSPを使ったプログラミングを行っております。
その中で、"フレームを使用した際にセッションのデータが引き継がれない"という現象が起きてしまい、
どうにも進めることができなくなってしまいました。
下記に詳しく内容を記述します。
ページの流れとしては、
1.ログインJSP(login.jsp)にてIDとパスを入力
↓
2.入力されたものをServlet(Login.class)が受け取りデータベースと照合
↓
3.IDとpassが一致している場合にframeset用のJSP(fs.jsp)に遷移
(RequestDispatcherにパスを指定→forword)
↓
4.frameset用のJSPからフレームA(frameA.jsp)とフレームB(frameB.jsp)のJSPを呼びだす
という流れです。
fs.jspまではsessionのデータが引き継がれているのですが、
frameA.jsp、frameB.jspでsessionのデータを参照することができません。
セッションIDの取得を試みた所、fsとframeAとframeB、すべてのIDが違う状態です。
ローカル上で動かす場合には問題なくセッションが引き継がれるのですが、
(セッションIDが同一であり、中にあるIDやパスの情報を取得することができる。)
サーバー上にあげるとうまく引き継ぐことができません。
サーバー側でファイルの呼び出しの際、マシン名が違う時にセッションが別で生成されるという仕様を見たことがあるので、
それが原因なのかとも思っているのですが、framesetで書いているリンクや、Tomcatのコンテキストルートの修正等を行ってみましたがうまくいきませんでした。
Javaのバージョンは1.6.0、tomcatのバージョンは6.0です。
もし質問が何かズレていたり、何か必要な情報が足りないようでしたら恐れ入りますがその部分も指摘して頂けたら嬉しいです。
どうか皆様の知恵をお貸しください。宜しくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
JSPのほうで、セッションを取得しているのですね?
私とは違うスタイルなので、いいアドバイスができるかは微妙ですが・・・。
現在の状況は・・・
1. login.jsp:<@page session="false">
2. LoginServlet:HttpSession#getSession(true) - ログイン成功時
3. fs.jsp:<@page session="true">
4. frameA.jsp, frameB.jsp:<@page session="true">
LoginServlet以外にサーブレットはない、ということであっていますか?
No.1
- 回答日時:
4. で行っているであろうgetSessionですが、引数はtrue / false / なし、どれでしょうか?
true またはなしであるとすると、
セッションのタイムアウト期間が何らかの理由で極端に短く設定されていたりはしないでしょうか?
確認の方法ですが、↓これが参考になるかと思います。
http://www.javaroad.jp/bbs/answer.jsp?q_id=20060 …
dakusui様、ご回答ありがとうございます。
返信が遅れてしまい大変申し訳ありません。
御指摘の件の引数についてですが、現在4で使用しているjsp2件についてはgetSessionを行っておりません。
(getSessionというのはこのような↓ものだと認識しておりますが、間違ってないでしょうか。
HttpSession session = request.getSession(true);)
というのも、その前の段階であるfs.jspの方ではgetSessionを行っておらず、変わりにjsp最上部で
<%@ page session="true" %>
というような記述をしており、それによって(?)fs.jspの段階ではセッションの値を取得できていたためです。
ですが、御指摘通りgetSessionを明示的に記述せずにやっていたことが原因かとも思い、getSessionを追記実装してみましたが、エラー(Duplicate local variable session)を吐いてしまいうまく実装することができませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- Windows 10 WIN10(MAC-bootcamp)で 起動時のパスWが どうにもならない 2 2023/06/30 11:40
- Java 問題作成のWebアプリの作り方を教えてください 1 2022/11/26 22:01
- PHP 「ログイン機能を持たせる」説明が気難しいです。 2 2022/10/11 02:59
- バックアップ ファイル履歴を使用してバックアップよりハードディスクドライブに保存した方良いですか? 3 2022/09/29 22:31
- ネットワーク OSI参照モデルの各層の役割がわかりません。 3 2023/04/21 21:12
- その他(データベース) c言語の問題です。これを踏まえてコーディングしたいのでおしえていただきたいです。 3 2023/08/03 09:27
- PHP PHPで入力フォームでデータを確認表示画面まで送る流れを日本語で理解したいのです。 1 2023/05/29 19:12
- その他(開発・運用・管理) WindowsからSSHでサーバーにあるファイルをダウンロードできない…。 3 2022/04/24 11:08
- PHP sessioncookieをではなくcookieを使わなければならない理由について… 4 2022/11/07 13:01
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
セッションIDの桁数
-
セッション維持について
-
画面遷移でセッション切れにな...
-
JSP + ラジオボタン
-
Java EE同時ログ出力の衝突疑問?
-
セッションに格納する方法
-
三菱GOTの画面切り替えについて
-
腕時計の時報をならないように...
-
フォーム上で押されたボタンに...
-
ボタンが活性化の場合とは、ボ...
-
strutsを使用したjspでjavascri...
-
フォームで同じ複数のnameで違...
-
私の能力からして間違っていな...
-
C言語で今まで表示していた画面...
-
ラジオボタンの選択肢をサーブ...
-
window.openした孫画面でSessio...
-
「<c:forEach タグが終了し...
-
location.hrefでページ切替時の...
-
Java-jspの画面入力値保持について
-
Formのデータが欠落することがある
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
グローバルIPアドレスの変更タ...
-
javascriptでセッションを取得
-
setAttribute getAttribute 配...
-
エラーページ遷移後に入力値を残す
-
javascriptでセッションの削除...
-
sessionスコープとapplication...
-
ASP.NETのGlobal.asaxについて
-
JSPでsession変数が勝手に書き...
-
HTMLのSELECTタグの使い方、JSP...
-
セッションの情報の消去について
-
JSPで、sessionのタイムアウト...
-
struts2でのフィルターを使った...
-
HttpSessionListenerクラスに関...
-
MySQL・Tomcat・JSP 何度もSub...
-
画面遷移でセッション切れにな...
-
JSP + ラジオボタン
-
リッチクライアントのセッション
-
javascriptでのログアウトボタン
-
ASP Session変数名の取得
-
ブラウザバック禁止
おすすめ情報