2016-09-26 2 views
0

私はHtppServletで作業しています。私が何をしなければならないかを知るためにセッションを使用する必要があります。しかし、私がセッションがいつも異なっているように見える時、プロセスは常に最初と同じことをします。以下のコード:HttpSession.getSession()。isNew()は常にtrueです

 protected void processRequest(HttpServletRequest request, HttpServletResponse response) 
        throws ServletException, IOException { 

       HttpSession session = request.getSession(true); 
       response.setContentType("application/json"); 
       PrintWriter out = response.getWriter(); 

       try { 
         if (session.isNew()) { 
          String id=callMethod1(); 
          session.setAttribute("ID",id); 
         } else { 
          callMethod2(session.getAttribute("ID")); 
         } 
       }catch (Exception ex) { 
       //Error handler 
       } finally { 
       out.close(); 
      } 
     } 

は事は私がcallMethod2()二度目に呼び出す必要があるが、それは常にcallMethod1()を呼んだ、私は、私はサーブレットとGoogle Chromeを呼び出すにカール使用していsession.getSession(false)session.getSession()を使用して試してみました誰が何が起きているのか、どうすれば解決できるのでしょうか?

答えて

1

curlを使用するときは、受け取ったCookieを返送する必要があります。最も重要なクッキーはセッションを識別するJSESSIONIDクッキーです。あなたがそれを送り返すことができなければ、サーバは要求がいくつかのセッションの一部であることを知ることができません。ここで

はカールとクッキーについて非常に素晴らしいチュートリアルです:https://curl.haxx.se/docs/http-cookies.html

+0

まあ、私はクッキーを送信しようとしたが、動作するように見えるdoes notのいずれかで私はあなたがあなたが受け取ったJSESSIONIDクッキーを送信する必要があります別のセッション – Alex

+0

を取得しています最初の要求の応答。 – gsl

関連する問題