• 締切済み

IEの設定???

現在、WebSphereをアプリケーションサーバとするシステムで、なぞの現象が起きています。 JSP→Servletにセッションデータを受け渡そうとしています。 しかし、WebSphere3.0.2では、 InternetExplorer6.0を使用してこれを行うと、Servletでセッションデータを取得することができません。(nullになってしまいます)。 しかし、Operaでは、正しくServletでセッションデータを取得できるのです。 また、WebSphereのバージョンを4.0.1にあげると、 InternetExplorer6.0ででもセッションデータを取得することができます。 なにか考えられる原因はありますでしょうか?

みんなの回答

  • kuro_73
  • ベストアンサー率28% (33/117)
回答No.1

お使いのものはWebSphereのどのタイプのものですか? トライアル版をお使いなのでしょうか? WebSphere3.0.2にはFixpackが出ていますが、現在ダウンロードできるのはWebSphere3.5以上のものです。 トライアル版をお使いでしたら、3.5に最新のFixpackをあててからお使いになるのがよいと思います。

TanakaShinya
質問者

補足

使用しているのはアドバンス版です。 現在WebSphere4.0に移行しているので特には問題とはならないのですが、切り分けがつかない原因不明のバグだったために、スッキリさせたかったのですが... ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

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

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

    • ベストアンサー
    • Java
  • フレームを使用した際のセッションについて

    初めて投稿させて頂きます。 現在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です。 もし質問が何かズレていたり、何か必要な情報が足りないようでしたら恐れ入りますがその部分も指摘して頂けたら嬉しいです。 どうか皆様の知恵をお貸しください。宜しくお願いします。

  • セッション管理

    度々の質問で申し訳ないです…。 「セッション管理」がどうしてもよく分かりません。 書籍やWeb上でいろんな説明を読んで頭では理解したつもりなんですが 実際使う段になるとつまづいてしまいます。 そこで質問です。 html → Servlret1 → JSP1 → Servlet1 → JSP2 → JSP3 このような遷移の中でセッション管理を行いたいと思っています。 今、JSP2までは無事にセッションオブジェクトに保存されたデータを 参照することができていますが、JSP2からJSP3に移るときに nullが渡されてしまうのです。 一度、Servlet1 へ制御を戻さなければだめなのでしょうか? 具体的なコードを以下に掲載します。 よろしくお願いします。 ========= Servlet1 でセッション開始 //セッションを得る HttpSession thisSession = req.getSession(true); //セッションに保存 req.getSession(false).setAttribute("Login","true"); ========= JSP2 で受け取る /* ここではちゃんと"true"が返ってきます。 */ //セッションオブジェクトから取り出す String login = (String)request.getSession(false).getAttribute("Login"); ========= JSP3 で受け取る /* ここで null が帰ってきてしまいます。 String login = (String)request.getSession(false).getAttribute("Login");

  • JSP→Servlet間の連携 applicationオブジェクトの渡し方

    どうぞご教授ください。 ---JSP間で値を取得・セットするJSP---、 LocalCfBean cfbean = (LocalCfBean)application.getAttribute("myattr"); ・・・ application.setAttribute("myattr",cfbean); とセットしたcfbeanオブジェクトを別のServletで取り出したいのですが、 ---値を取得するServlet--- HttpSession session = req.getSession(); のような記述はどのようになりますでしょうか。オブジェクト取り出し部分を 具体的に教えていただけますでしょうか

    • ベストアンサー
    • Java
  • Sessionのデータ保持について

    Sessionにデータを保持している状態で、Webサーバーのシステム日付(日時)を変更した場合、上記Sessionに保持しているデータが消えてしまうということはありますか? 現在私が行っている開発環境にてデバッグしてみると、上記現象(Sessionの中身がnull)を確認することができたのですが、原因が不明です。 【再現手順】 (1)Sessionにデータを格納(何でもOK) (2)Webサーバーのシステム日付(日時)を変更 (3)上記(1)で格納しているSessionからデータを取り出す  ⇒上記(3)のタイミングでオブジェクト参照がnullとなります。 もし上記の原因と解決方法がありましたら、教えて頂ければ幸いです。

  • サーブレットから別フレームのパラメータを取り出すことは可能でしょうか?

    はじめまして。 JAVA&サーブレット初心者です。 現在、サーブレット、JSPを使ったWEBアプリケーションの開発をしてお ります。 左右二つに分かれたフレームを持つWEBアプリケーションを作っています。 大まかな流れとしては以下の通りです。  (1)左側のフレーム(仮にleft.jspとします)からサーブレット  (仮にservlet1とします)を呼び出す。  (2)右側フレームに(1)の処理結果のJSP(right1.jsp)を呼び出す  (3)right1.jspでサーブレット(servlet2)を呼び出す。  (4)右側フレームに(3)の処理結果のJSP(right2.jsp)を呼び出す。  (5)right2.jspでサーブレット(servlet3)を呼び出す。  (6)右側フレームに(5)の処理結果のJSP(right3.jsp)を呼び出す。   上記のように左側フレームが固定で右側フレームのJSPがサーブ  レット処理によって切り替わるようなWEBアプリケーションを開発し  ています。    問題なのは、今回開発しているシステムの要件により、(5)で呼び出され るサーブレット(servlet3)内の処理で左側のフレーム(left.jsp)の入力 パラメータが必要だということです。  servlet1でleft.jspの入力パラメータをセッションオブジェクトに保管 し、servlet3でセッションオブジェクトから復元すれば実現は可能かと思 いました。  しかし、途中servlet2からの処理が大変重いものであり、セッションオ ブジェクトは一定時間がたつと無効になってしまうと聞いたのでタイトル のような方法を考えたのですが、見当がつかず、今回の質問に至りました。  request.getParameter("****"); ではもちろん取り出せないと思いますが、サーブレットで別フレームのパ ラメータを取り出すことは可能でしょうか?

    • ベストアンサー
    • Java
  • リンクの値→サーブレット

    いつもお世話になっております。 今回もよろしくお願いいたします。 (1)jsp画面のリンクの値をServletへおくる (2)ServletでDBアクセスし、処理を行う (3)(2)で処理した値をBeanに格納する (4)jsp画面でBeanの値を取得する といった流れをしています。 [(1)のjspでのコード(一部)] <form name= henkou method="post" action="../servlet/RequestServSession"> <a href= "../henkou.jsp"> <input type=hidden name=MySubmit> <jsp:getProperty name="reqObject" property="id" /> </a> </form> <script language="JavaScript"> function func(MyCommand){ document.henkou.MySubmit.value=MyCommand; document.henkou.submit(); } </script> [(2)Servletのコード(一部)] String strId = (String)request.getParameter("MySubmit"); String strSesId = new String(strId.getBytes("iso-8859-1"),("Shift_JIS")); int intId = (Integer.parseInt(strId));           ・           ・           ・ //処理された値をBeanに格納 HttpSession session = request.getSession(); *1→session.setAttribute("id",sid); *2→session.setAttribute("name",name); *3→session.setAttribute("biko",biko);           ・           ・           ・ などを実行すると、(4)では   *1→ 0   *2→ null   *3→ null が表示されます。 リンクの値がServletへきちんと送れていないのだと思い、jsp→Servletのみで実行したところ、 "Http-500エラー NullPointerException" が発生します。 どのようにしたらうまく値をおくることができるのでしょうか? どなたかご教授のほどよろしくお願いいたします。 

    • ベストアンサー
    • Java
  • LOGON_USER

    「Java / Servlet」で、 ASPの「Request.ServerVariables("LOGON_USER")」と 同様の値を取得したいと考えております。 環境は OS:Windows Server 2000 HttpServer:IBM HTTP Server (Websphere標準) APP Server:Websphere 4.0  です。 ご存知であれば、教えて頂けますか。 よろしくお願いします。

  • ServletからJSPへのデータの受け渡し

    サーブレットにてDBから取得したデータをJSP側に受け渡しをしたいのですが、いろいろと本を読んだり、ネットで情報を調べたりしているのですが、配列データを受け渡す方法が良くわかりません。 どなたか、ココに説明されているHPがある!や、こうすればよいなどのアドバイスをいただければ幸いです。 自分で調べてみたところ以下のところまでは作ったのですが、この後がわからなくなってしまいました。 Servlet側 Enumeration enu_dat = vector.elements(); request.setAttribute("enu_dat", enu_dat); JSP側 session = request.getSession(true); Enumeration data_dat = (Enumeration request.getAttribute("enu_dat"); JSP側で受け取ったとき data_datは「null」 enu_datは「java.util.Vector$1@a2bd15」 のようになっています。

    • ベストアンサー
    • Java
  • javaサーブレット sessionの使い方

    sessionを使ってデータの受け渡しをしたいのですが、ページ移動が増えると上手く受け渡せ無くて困っています。 jsp→Servlet のみでテストした時は正常に動いたのですが、ページを増やすと値が上手く更新されないのです。 下のプログラムではjspでセッションを開始して、ボタンを押すことでNS1.javaに移動し値を1増やしてNS2.javaに移動します。NS2.javaでも値を1増やしているので結果的に2つ値が増えるはずなのに1つも増えません。 何が悪いのでしょうか。解決策を教えて下さい。 // NStest.jsp <%@ page contentType="text/html;charset=Windows-31J" %> <html> <head> <title>移動</title> </head> <body> <% // isNewメソッドでセッション管理されているか確認します。 if (session.isNew()) { // セッション管理されていない場合、データを登録します。 session.setAttribute("count", 0); // 初回用メッセージ out.println(" Nice to meet you."); } else { // セッション管理されている場合、データを表示します。 out.println("count: " + session.getAttribute("count")); } %> <form method="POST" enctype="multipart/form-data" action="NS1"> <INPUT type="SUBMIT" name="button1" value="移動"> </form> </body> </html> // NS1.java package NStest; import java.io.*; import javax.servlet.*; import javax.servlet.http.HttpSession; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class NS1 extends HttpServlet { public void doPost (HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { // 出力形式等の設定 ServletContext context = this.getServletContext(); response.setContentType("text/html;charset=Windows-31J"); PrintWriter out = response.getWriter(); HttpSession session = request.getSession(false); String message; if (null == session) { // nullが返ってくる場合はセッションが作成されていない session.setAttribute("count", 0); out.println("セッションが開始されていません。"); } else { // セッションインスタンスからcountの値を取得して表示 // 1加算してふたたび保存 Integer count = (Integer)session.getAttribute("count"); session.setAttribute("count", 1 + count.intValue()); message = "ページカウント: " + count; out.println(message); } // 処理後はNS2.javaにリダイレクト response.sendRedirect("NS2.java"); } } // NS2.java package NStest; import java.io.*; import javax.servlet.*; import javax.servlet.http.HttpSession; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class NS2 extends HttpServlet { public void doPost (HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { // 出力形式等の設定 ServletContext context = this.getServletContext(); response.setContentType("text/html;charset=Windows-31J"); PrintWriter out = response.getWriter(); HttpSession session = request.getSession(false); String message; if (null == session) { // nullが返ってくる場合はセッションが作成されていない session.setAttribute("count", 0); out.println("セッションが開始されていません。"); } else { // セッションインスタンスからcountの値を取得して表示 // 1加算してふたたび保存 Integer count = (Integer)session.getAttribute("count"); session.setAttribute("count", 1 + count.intValue()); message = "ページカウント: " + count; out.println(message); } } }

    • ベストアンサー
    • Java