検索
ホームページJava&#&チュートリアルJava のセッション オブジェクトとメソッド インスタンスの分析

セッション オブジェクトは、各クライアントの動作状況を追跡するために、セッション スコープ内の各クライアントのアクセス ステータスを記録するために使用されます。セッションに格納されている情報は、ブラウザーがセッションを実行するときに、これらのセッションの有効なデータを取得できます。その後のリクエスト。

セッション オブジェクト (jsp の組み込みオブジェクト) を JSP ページで直接使用することも、pageContext.getSession() または request.getSession を通じてセッション オブジェクトを取得することもできます。

セッションではユーザー情報の保存やショッピングカートなどの機能を実装できます。

HTTP プロトコルはステートレス プロトコルです。クライアントはサーバーにリクエストを送信し、サーバーは応答を返します。接続は閉じられます。サーバーは接続に関する関連情報を保存しないため、次の接続、サーバーには以前の接続情報がなくなり、この接続に以前の接続と同じクライアント情報があるかどうかを判断できません。そのため、セッションを使用して接続に関する情報を記録する必要があります。

クライアントがサーバーに接続するためにブラウザを開いた瞬間から、クライアントがブラウザを閉じてサーバーを離れる瞬間まで、それはセッションと呼ばれます。クライアントがサーバーにアクセスするとき、サーバー上の複数のページに繰り返し接続したり、ページを繰り返し更新したり、ページに情報を継続的に送信したりすることがあります。サーバーは、これが同じクライアントであることを何らかの方法で認識する必要があります。その場合はセッションが必要になります。

セッションの動作原理は次のとおりです:

1. 顧客がサーバー上のページに初めてアクセスすると、サーバーはセッション オブジェクトをユーザーに割り当て、セッションの一意の ID を取得し、その ID をクライアントに送信して Cookie に書き込むことで、クライアントとサーバーのセッションが 1 対 1 の対応を確立します;

2. クライアントが引き続きサーバー上の他のリソースにアクセスすると、サーバーはアクセスできなくなります。 クライアントのブラウザが閉じられるか、タイムアウトになるか、セッションの validate() メソッドが呼び出されて無効化されるまで、新しいセッション オブジェクトがクライアントに割り当てられます。クライアントとサーバーは終了します。

3. 顧客がブラウザを再度開いて Web サイトにアクセスすると、サーバーはセッション オブジェクトを顧客に再割り当てし、セッション ID を再割り当てします。

session オブジェクトは主に属性操作とセッション管理に使用され、よく使用されるメソッドは次のとおりです:

1, public void setAttribute(String name,String value)Set指定された名前 属性の値をセッション スコープに追加します。この属性がセッション スコープ内に存在する場合は、属性の値を変更します。

2, public Object getAttribute(String name)セッションスコープ内の指定された名前の属性の値を取得します。戻り値の型はオブジェクトです。属性が存在しない場合は、 null が返されます。

3. public void RemoveAttribute(String name), 指定された名前のセッション属性を削除します。属性が存在しない場合は例外が発生します。

4, public void validate(), セッションを無効にします。現在のセッションはすぐに無効化され、元のセッションに保存されているすべてのオブジェクトにアクセスできなくなります。

5, public String getId( ), 現在のセッション ID を取得します。各セッションには、サーバー側に一意の識別子 sessionID があり、セッション オブジェクトによってブラウザに送信されるデータは sessionID だけであり、通常は cookie に保存されます。

6, public void setMaxInactiveInterval(int interval) セッションの最大継続時間を秒単位で設定します。負の数値は、セッションが期限切れにならないことを示します。

7, public int getMaxInActiveInterval(), セッションの最大継続時間を取得します。

8. セッション オブジェクトの getCreationTime() メソッドと getLastAccessedTime() メソッドを使用して、セッション作成時刻と最終アクセス時刻を取得しますが、戻り値はミリ秒です。通常、次の変換を使用する必要があります。特定の日付と時刻を取得します。

Date creationTime = new Date(session.getCreationTime());
Date accessedTime = new Date(session.getLastAccessedTime());

nbsp;HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

  
    <base>" rel="external nofollow" >   
    <title>session对象方法</title>
   
 <meta>
 <meta>
 <meta>   
 <meta>
 <meta>
 <!--
 <link rel="stylesheet" type="text/css" href="styles.css" rel="external nofollow" >
 -->
  
 
  
    <b>
    会话ID: <br>
    是否新会话:<br>
    设置和获取属性对象:用户名 =
    
    <br>
    
     会话创建时间:<br>
     上次访问时间:<br>
     会话持续时间(s):<br>
     
     修改后的会话持续时间(s):<br>
     
     </b>
  

セッションを取得するためによく使用されるいくつかのメソッド

1.spring mvc

HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();

2.struts2

(1)

ActionContext context = ActionContext.getContext(); 
Map request = (Map) context.get("request"); 
Map session = context.getSession(); 
Map application = context.getApplication();

(2)

ActionContext actionContext = ActionContext.getContext(); 
HttpServletRequest request = (HttpServletRequest) actionContext
.get(ServletActionContext.HTTP_REQUEST); 
HttpSession session = request.getSession(); 
ServletContext context = (ServletContext) actionContext 
 .get(ServletActionContext.SERVLET_CONTEXT);

3. ServletActionContext を通じて

HttpServletRequest request = ServletActionContext.getRequest(); 
HttpSession session = request.getSession();
を取得する

以上がJava のセッション オブジェクトとメソッド インスタンスの分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は亿速云で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。