2016-05-19 3 views
1

に私たちは、Webアプリケーション用のTomcatを使用していて、セッション管理のために、我々はこれは、私たちは、IDといくつかのユーザーがたHTTPSessionHttpSessionのTomcatの

にセッション属性を設定する方法ですJavax.servlet.http.HttpSession

でのHttpSessionを使用

HTTPSession session = request.getSession() 
session.setAttribute("sessionIdNo",sessionIdNo); 

これは、以前のHTTP呼び出しで保存したセッションIDといくつかのユーザー属性を取得する方法です。

HTTPSession session = request.getSession(); セッション.getAttribute( "sessionIdNo");

私の質問は

  1. どのようにその可能ブラウザから次のHTTP呼び出しで、私たちは、HttpSessionに前回のHTTP呼び出しで設定されているサーバー側のセッション属性を取得することができることです。

    注:私はクッキーにも保存しませんでした。私はブラウザから送信されていないと思います。 JSESSION_IDに接続していますか。

  2. 私の2番目の質問は、これらのHTTPセッション管理はどのようにデスクトップアプリケーションで動作するのですか?ブラウザを使用しないとどういう意味ですか? ここでは、セッション管理にJESSION_IDを使用する方法を示します。

  3. そうでない場合は、他の方法はありますか?

答えて

1

HttpSessionは、よくHTTPの使用を意味します。ブラウザでは、セッションを参照するためにJSESSIONID Cookieが使用されます。ユーザーが初めて訪れ、新しいセッションID(request.getSession()。getId())が割り当てられます。これはJSESSIONIDクッキーに入れられ、ブラウザに返されます。その後のリクエストでは、ブラウザはTomcatにどのセッションを使用するかを伝えるクッキーを送信します。

デスクトップアプリケーションを作成した場合は、別のメカニズムを使用することができます。しかし、Tomcatは部分的にHTTPサーバーなので、これが「通常の」メカニズムです。デスクトップアプリケーションはTomcatやWebベースのサービスとやりとりすることができますが、UIはJava Swingなどでレンダリングされる可能性があります。私はcurlコマンドを使用してHTTP呼び出しを実行すると、まだ同じのHttpSessionを使用することができます

import javax.servlet.annotation.WebListener; 
import javax.servlet.http.HttpSessionEvent; 
import javax.servlet.http.HttpSessionListener; 

@WebListener 
public class DemoSessionListener implements HttpSessionListener { 

    @Override 
    public void sessionCreated(HttpSessionEvent sessionEvent) { 
     System.out.println("session \"" + sessionEvent.getSession().getId() + 
          "\" created); 
     } 
    } 

    @Override 
    public void sessionDestroyed(HttpSessionEvent sessionEvent) { 
     System.out.println("session \"" + sessionEvent.getSession().getId() + 
          "\" destroyed); 
    } 
} 
+0

:あなたはセッションが作成され、ほんの少しのコードで破壊されて見ることができます

EDIT

次の呼び出し。どのように可能ですか?どのように私のHttpSessionは、次の呼び出しで同じセッションを使用します。私はクッキーにも入力フィールドを渡さなかった。 – Harry

+0

あなたはどのようにそれが同じセッションであると確信していますか?カールはデフォルトではクッキーをオンにしないので、正しく発音しないようです。 – stdunbar

関連する問題