0

サーブレットでセッションを追跡するさまざまな方法は何ですか? 隠しファイルを使用することで可能ですか?

4

8 に答える 8

6

3つの方法があります

  • 非表示のフォーム フィールド
  • クッキー
  • URLエンコーディング。

方法の1つは使用することです。HttpSession使用してセッションを作成できます

HttpSession session = request.getSession();

または使用できますHttpSession session = request.getSession(true)。どちらのステートメントも、このユーザーに関連付けられたセッションがある場合は、そのセッションを返すか、新しいセッションを作成することを意味します。falseが渡された場合、新しいセッションは作成されません。

于 2013-08-13T10:06:11.470 に答える
3

セッションは次の方法で維持できます

  • 非表示のフォーム フィールド。
  • クッキー
  • エンコードURL
  • セッションオブジェクトはこちらのリンクをご覧ください
于 2013-08-13T10:06:01.080 に答える
2

サーブレットでセッションを追跡するさまざまな方法は次のとおりです。

  1. セッション API の使用: そのサンプル コードは次のとおりです。

    //store the username object in the session-scope
    HttpSession session = request.getSession();
    session.setAttribute("username",username);
    

    セッション属性を取得するには、session.getAttribute() を使用します。

    Username username = (Username) session.getAttribute("username");
    
  2. Cookie API の使用: サンプルコード:

    String name = request.getParameter("username");
    Cookie c = new Cookie("username",name);
    response.addCookie(c);
    

    セッション管理に Cookie を使用することの主な欠点は、クライアントで Cookie がオフになっている場合があることです。

  3. URL 書き換えの使用: URL 書き換え戦略は、Cookie 戦略ほど透過的ではありません。以下のような形で実装できます。

    //present the form
    out.println("<form action='"+response.encodeURL("login.")+"'");
    
  4. 非表示のフォーム フィールドも使用できます。

于 2013-08-17T14:01:28.220 に答える
1

はい、隠しフィールドで可能です。

そして他の方法もあります

  • ユーザー認証
  • 隠しフィールド
  • URL書き換え
  • クッキー
  • セッション追跡 API
于 2013-08-13T10:06:58.100 に答える