• ベストアンサー

jpsの中で requestは?

JSPの中で、  <% HttpSession session = request.getSession(); %> をしたいのですが、文字化けをしたエラーがでます。 request変数を知らないからですか?? どうすればsessionを取得できるんでしょうか? どなたか教えて下さい。

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

質問者が選んだベストアンサー

  • ベストアンサー
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

エラーが分からないと何とも言えませんが、実際に欲しいのは、session ではなく、 そこに保持しているインスタンスですよね。jsp:useBean を使いましょう。 参考URLのサンプルはどうですか? 的が絞ってあって、わかりやすいと思うんですけど。 少なくとも、request 変数は、JSP のどこでも使えます。 # 状況が良く分からないので、自信無し、としておきます

参考URL:
http://www02.u-page.so-net.ne.jp/qa2/masa_o/tsjsp/jsp/tag06.htm
myrimyri
質問者

お礼

<%= request.getSession().getAttribute("myName") %> と書いたら、ちゃんと欲しいものが表示されました。 なんだったんでしょう???(^^; でも、よかったです!ありがとうございました。

関連するQ&A

  • Servlet-JSP のセッション管理

    すいません。 セッションというものを使ってみたいなと思い、 本などを、見よう見真似で下のようなものを作ってみましたが、 まったく動きません。どこがいけませんか? ーーservlet-ー HttpSession session = req.getSession(); if (session.isNew()) {  session.setAttribute("test","ssm3u"); } ーーforwardされるJSP-ー <% HttpSession session = request.getSession(); %> <%= (String)session.getAttribute("test"); %> "ssm3u"と出したいのですが、全然違うのでしょうか? 自分ではCookieを利用するセッション管理を作ったつもりです・・

    • ベストアンサー
    • Java
  • セッションIDの付け替えについて

    はじめまして。 Servlet でセッションIDの付け替えをしたいのですが、 HttpSession session = request.getSession(); out.println(session.getId()); session.invalidate(); HttpSession newSession = request.getSession(true); out.println(newSession.getId()); のように、 一度invalidate()してから、 新しいセッションを取得しても 同じセッションIDとなってしまいます。 違うセッションIDを振るにはどうしたらよいでしょうか。

  • Sessionについて

    今、JSPを用いてログイン画面を作成しているのですが、Sessionの使い方がいまいちわかりません。 HttpSession ses = request.getSession(); ses.setAttribute("id",id); これでSessionに格納するのはわかりますが Sessionから値を取り出す方法がわかりません。 どなたか助けてください

    • ベストアンサー
    • Java
  • セッション管理

    度々の質問で申し訳ないです…。 「セッション管理」がどうしてもよく分かりません。 書籍や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");

  • httpセッション

    失礼致します。 セッションについてお聞きします。 httpsessionの受け渡しについてなのですが、画面jspページから ログイン名とパスワードを取得し、サーブレットに渡しています。 サーブレットの書き出しは次のようになっています。 public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { HttpSession session3 = req.getSession(true); ・・・ このあとsession3セッションにパスワードをセットし、 jspページでセッションチェックした後falseならログイン画面に リダイレクトします。ここまでは出来ました。 ところが、このログイン名を文字列操作したいと思い、 サーブレットからjspページにディスパッチする前に一旦 文字列操作用javaページで文字列操作をしようと思いました。 ところが、サーブレットでない純粋なjavaページではhttpsessionが使えないことが分かりました。 HttpSessionを型に解決できませんと言われます。 この問題は一度は直面したことのある方も多いのではないかと思い、質問させて頂きました。 このような場合、どのように対処されていますでしょうか?

  • セッションタイムアウト時にエラー画面を表示したい

    はじめまして。Java初心者です。 宜しくお願します。 具体的には、 1.セッション作成時(sessionCreated)に、 HttpServletrequest,HttpServletresponse  をHttpsession setAttributeでセットしてあげる。 2.セッション削除時(sessionDestroyed)に、 1.でセットしたrequest,response  をHttpsession getAttributeで取得する。  2-1 エラー画面へforwardする。 2.のソースはいかのように行っていますが、forwardのところで nullpointer.exceptionでうまくいきません。 public void sessionDestroyed(HttpSessionEvent event){ HttpSession session = event.getSession(); /* request,responseオブジェクト取得*/ HttpServletRequest request = (HttpServletRequest)session.getAttribute("request"); HttpServletResponse response = (HttpServletResponse)session.getAttribute("response"); try { // エラー画面表示 request.getRequestDispatcher("/err.jsp").forward(request,response); } catch (ServletException e) { // TODO 自動生成された catch ブロック e.printStackTrace(); } catch (IOException e) { // TODO 自動生成された catch ブロック e.printStackTrace(); System.out.println(e.getStackTrace()); } } ご存知の方がいらっしゃいましたらご教授願います。 また、方法が基本的におかしいというアドバイスでも構いません ので宜しくお願します。 OS:windows2000 tomcat:5.0 eclipse:3.0

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

    質問があります。 ServletでSessionを用いるときににまず初めに、 /*セッションの開始*/ HttpSession session = req.getSession(); というふうにすると思います。 ここで、HttpServletRequestのメソッドとしgetSessionがあるわけですが、 セッションというのはリクエストから受け取り開始するものなのですか? 私の解釈では、リクエスト→セッション→コンテキストという順番でスコープが広くなっていると認識しています。 なのになぜ、リクエストからセッションを受け取るのかが疑問でなりません。 また、ブラウザで×ボタンを押すとセッションは終了すると思いますが、 この時にもし、セッション上に明示的に解放しなければならないBeanなどをあげていた場合、 どうやって解放してあげればいいのでしょうか。 たぶん、大きな勘違いをしていると思うのですが、 どなたかご教授願いますでしょうか。 よろしくお願いいたします。

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

    セッション変数の扱いについて困っていることがあります。 ichiran.jspの画面(商品一覧表) りんご→nyuryoku.jsp?shohinmei=ringoへのリンク みかん→nyuryoku.jsp?shohinmei=mikanへのリンク nyuryoku.jsp String shohinmei=request.getParameter("shohinmei"); session.setAttribute("shohinmei",shohinmei); ... <form method="post" action="koushin.jsp"> ...入力フォーム </fotm> koushin.jsp HttpSession hs=request.getSession(true); String shohinmei=(String)hs.getAttribute("shohinmei"); データ更新のSQLをかける ichiran.jspの画面で 1.りんごを右クリックして新しいウィンドウで開く 2.みかんを右クリックして新しいウィンドウで開く 3.りんごの入力画面を開いているブラウザのSubmitをクリック ↓ 2の時点でsession変数shohinmeiにmikanが入っているので、 りんごのはずがみかんのほうに更新がかかってしまう。 りんごとみかんの入力画面を並列に開いたときに、 それぞれ別のセッションとして生成され、りんごとみかんに関するshohinmeiの 変数領域が別々に確保されるようにする方法はないものでしょうか?

    • ベストアンサー
    • Java
  • javaservletの質問

    package test; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; @WebServlet(urlPatterns={"/test/Test2"}) public class Test2 extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession session = request.getSession(false); // セッションを取得(新しいセッションを作成しないようにする) if (session != null) { response.getWriter().write("yes, World!"); // クライアントにテキストを出力 } else { response.getWriter().write("no, World!"); // クライアントにテキストを出力 } } }sessionがある場合にはyesを、無い場合にはnoを出力したいのですが必ずyesになってしまいます。 HttpSession session = request.getSession(false); でsessionがない場合には作成しないようにしているはずなのになぜでしょうか

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

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

    • ベストアンサー
    • Java

専門家に質問してみよう