• 締切済み

セッションについて。

プログラミング初心者です。サーブレットを勉強しています。 同じオブジェクトがセッション上で使い続けられず、困っています。 あるJSPファイル内で、 <jsp:useBean class="kajitu" id="kajitu" scope="session"/> という記述をし、そのファイル内で、 kajitu = db.load(1);//戻り値として、kajituオブジェクトが戻ってくる。戻ってくるkajituオブジェクトはdbクラス内で生成し、値を入れたものが返ってくる。 という記述をし、kajituオブジェクトに値をいれた(つもり)のですが、遷移して次のページにいくと、kajituオブジェクトは空(初期状態)になっています。kajituオブジェクトについて、何かいじっている処理は上の操作以外に特にありません。 上記の処理は、まずいやり方でしょうか? よろしくお願いします。

  • Java
  • 回答数1
  • ありがとう数1

みんなの回答

  • thamansa
  • ベストアンサー率40% (95/232)
回答No.1

セッションさんという人とあなたで考えてみます。 <jsp:useBean class="kajitu" id="kajitu" scope="session"/> セッションさんに中身がカラの"kajitu"を渡します。 kajitu = db.load(1); あなたは、DBから中身の入った果実を手に入れます。 はい、ここで、 セッションさんのもっている"kajitu"に中身は入っていますか? すべきことは、 セッションさんの持っている"kajitu"に中身を入れるか、 中身の入った果実をセッションさんに渡すかです。

nabewari
質問者

お礼

回答ありがとうございます。

関連するQ&A

  • JSPで、sessionのタイムアウトを制御したいのですが・・・

    じつはかなり素人なのですが、JSPで、冒頭のほうに、例えば <jsp:useBean id="db" class="db*****.db*****bean" scope="session"/> と記述したとします。で、このsessionのタイムアウトになる時間を制御したいのですが、どのようにしたらよいのかわかりません。 JAVAの記述で制御できる、ということは聞いたことがあるのですが・・・。 もしそれが難しければ、カウントをとって、「sessionタイムアウトまで **分前です」のようなアラートでも出そうかと思っていたのですが・・・。 どなたか、ぜひ教えてください。

  • JSPで、sessionのタイムアウトを制御したいのですが・・・

    じつはかなり素人なのですが、JSPで、冒頭のほうに、例えば <jsp:useBean id="db" class="db*****.db*****bean" scope="session"/> と記述したとします。で、このsessionのタイムアウトになる時間を制御したいのですが、どのようにしたらよいのかわかりません。 JAVAの記述で制御できる、ということは聞いたことがあるのですが・・・。 もしそれが難しければ、カウントをとって、「sessionタイムアウトまで **分前です」のようなアラートでも出そうかと思っていたのですが・・・。 どなたか、ぜひ教えてください。

  • JSPでsession変数が勝手に書き換えられる

    お世話になっています。 JSPを使ってプログラミングをしていますが、画面遷移の途中でsession変数の内容が空になってしまう現象に悩まされています。 画面遷移は、 ■入力画面 <jsp:useBean id="apply" scope="session" class="apply.Apply2009Bean" /> ↓post ■確認画面(ここで、前の画面で入力された値をsessionに保存) <jsp:useBean id="apply" scope="session" class="apply.Apply2009Bean" /> ↓post ■申し込み完了画面(入力された値をDBに保存) <jsp:useBean id="apply" scope="session" class="apply.Apply2009Bean" /> ここで、申し込み完了画面になるとapplyという変数の中が全部nullになっています。 念のため暗黙のsession変数からgetId()でセッションIDを画面に出してみると<%=session.getId()%> 申し込み画面:585C94623773F49C0708E050C95E20D2 確認画面:5C35DCF1B68850A762D531CAF2F9700E 完了画面:7D1035FD035C7767C8CEB1D938325D60 と、毎回セッションIDが変わっています。  ちなみに、テスト環境ではこの問題は起こらず、本番環境のみで発生します。  同様の問題を経験したことがあるかたはいらっしゃいませんでしょうか。 構成は ■テスト環境: os:WindowsXP SP2 server:Tomcat 4.1 Java: 1.4.2 ■本番環境: os:FreeBSD 6.1-RELEASE-p6 server:Tomcat 4.1 Java: 1.4.2  よろしくお願いいたします。

    • ベストアンサー
    • Java
  • jspでsessionを生成するには

    java初心者です。 jspでセッションを生成し、その生成したセッションを クッキーに入れて、サーブレットに渡すには どのように書いたらよろしいのでしょうか。

    • ベストアンサー
    • Java
  • Sessionについて

    Session管理について以下のページを参考にしました。 http://www.atmarkit.co.jp/fjava/javafaq/session/session04.html あるServletにおいて、(1)セッション開始後、 ( HttpSession session = request.getSession(true);) (2)セッションに値を格納・・・また、違うServletで (3)そのセッションに格納された値を取得・・・ といったやり方が載っていました。 よく、セッション管理についてまだ分かってないところが あるのですが、・・・ たとえば、Aサーブレットでセッションを開始し、 セッションに値を格納・・・・とします。 そのセッションに入れる値。。。というのを 「顧客ID」と「処理CD」の2つにしたい場合はどのような 記述になるのでしょうか?? 参考にしたページには //セッションに値を格納 UserInfo userInfo = new UserInfo(...); session.setAttribute("USER_INFO", userInfo); こんな感じで書いてるんですが、 これは、USER_INFOというキーワードでuserInfoを 値としてセットするということですよね? 顧客IDと処理CDを記述するときは、なにか それぞれオブジェクトが必要なんでしょうか?? よくわかってないです。 ・・・・すみません。よく意味がわかってないので 質問内容も中途半端だと思うのですが、 セッション管理について教えてください。

  • ファイル生成

    こんにちはJSPでの処理で可能かどうか教えてください。 JSPでサーブレットに渡された値を取得して、ファイルを生成して値を書き込み、クライアントにダウンロードすることは可能でしょうか? また、JavaScriptでファイルを生成することは可能でしょうか?

  • 画面遷移でセッション切れになります

    いつもお世話になっております。 サーブレットを使用した画面遷移で jsp(ログイン)→servlet(ログイン確認)→jsp(メニュー) →servlet(データ取得)→jsp(データ一覧表示) という流れで画面遷移を行っていたのですが、 二つ目のjsp(メニュー)まではセッションが残っているのですが 次のservletに遷移した瞬間セッションがが切れてしまいnullを検出してしまいます。 はじめのservlet(ログイン確認)にて getAttributeを使用しセッションを残していたのですが、 セッション切れの原因がわかりません。 セッション切れする原因はなんなのでしょうか。 皆様の知恵をお借りできれば幸いです。

    • ベストアンサー
    • Java
  • セッションオブジェクトの使い方(次画面の渡し方について)

    セッションオブジェクトの渡し方について教えてください。 セッションオブジェクトは、どのタイミングで、次の画面にセッションオブジェクトを渡しているのでしょうか? ▼リクエストオブジェクトを次の画面に渡す場合 request.setAttribute("キー" , 格納したい値); という風に、リクエストオブジェクトの中に値をセットできると思います。 そして、  ・RequestDispatcher rd = request.getRequestDispatcher("画面遷移先URL");  ・rd.foward(request, response); これが実行されたタイミングで、requestオブジェクトに格納した情報を、次の画面に渡していると思いますが ▼セッションオブジェクトを次の画面に渡す場合 いったいどこでセッションオブジェクトを、次の画面に渡しているのでしょうか? セッションの値の入れ方としては session.setAttribute("キー" , 格納したい値); という形でセッションオブジェクトに対して、値を格納しているのだとは思いますが・・・ ここでセットした値を、 どうやって、次の画面にもっていっているのでしょうか? 【不思議に感じているところ】  1.セッションオブジェクトを生成する  2.セッションオブジェクトの中に、値を格納する  3.rd.foward(request, response); で次の画面にリクエストを投げる  4.次の画面で「セッションオブジェクトは飛ばしていない筈なのに、セッションオブジェクトの中には値が格納されている」  うーん・・・  一体どこで、次の画面にセッションオブジェクトを渡しているのでしょうか?

    • ベストアンサー
    • Java
  • サーブレットのsessionについて…。

    お世話になります。 サーブレットでリクエストを受付け、JSPで表示させたいのですが サーブレットでファイルの読み込みだけをsessionにし一覧表示や 検索結果はrequestで処理したいのですがsessionにしたものを requestで受け取る事ってできますか? 今はsessionで受け渡しもしてるので一覧表示や検索結果が残って しまい上手く表示できません…。 初心者なので説明不足も多々あるとは思いますが宜しくご教授 お願いします。 捕捉要求下されば書き込みます。

    • ベストアンサー
    • Java
  • セッションスコープについて

    はじめまして。javaの初心者です。 どうしてもわからないことがあります。 それは、同一コンピュータで、例えば、サーブレット でセッションオブジェクトを作成して、それに属性 を設定しておいて、JSPページに転送を行うと、 その転送先のJSPページでは、属性を取得することは できるのですが、同一コンピュータで別のブラウザを 起動してそのJSPページに直接アクセスすると、属性が 取得できない状態になります。参考書では、 「同じコンピュータからの複数のリクエストは 同一セッションとみなされる。」と記述されています。参考書のような状態になるには、何か設定が 必要なのでしょうか?どうか教えてください。お願いします。ちなみに現在Tomcat5.5.17とjdk1.5.0_06を 使用しています。

    • ベストアンサー
    • Java

専門家に質問してみよう