JavaWeb ----クッキー&セッション

##テクニカルセッション

1、セッション:セッションが複数の要求と応答を含みます。

  *最初のセッション:最初のブラウザはこれまでオフ1つの党になるまで、サーバリソース、セッション確立に要求を送信します。

2、関数:再度セッションの複数の要求の間の範囲、共有データ

3つの方法:

  1、クライアントセッションの技術:クッキー

  2、サーバー側のセッションテクニック:セッション  

 

## クッキー

1、概念:クライアントに格納されたデータは、クライアントのセッション・テクノロジー

2は、はじめに:

  *これらの手順を実行します。

    1、結合クッキーオブジェクトデータを作成します

    *新しいクッキー(文字列名、文字列値)

    2、送信クッキーオブジェクト

    * response.addCookie(クッキークッキー)

    図3は、データを取得し、クッキーを取得します

    *クッキー[] request.getCookies()

パッケージcom.Cookie.demo01を。

輸入javax.servlet.ServletException;
輸入javax.servlet.annotation.WebServlet;
インポートのjavax.servlet.http.Cookie。
輸入javax.servlet.http.HttpServlet。
インポートのjavax.servlet.http.HttpServletRequest;
インポートのjavax.servlet.http.HttpServletResponse;
インポートにjava.io.IOException; 

/ ** 
 *クッキー快速入门
 * / 
@WebServlet( "/ CookieDemo01" のパブリック クラス CookieDemo01が拡張HttpServletを{ 
    @Overrideは
    保護され 、ボイドdoPostメソッド(HttpServletRequestのリクエスト、HttpServletResponseの応答)スローServletExceptionがは、IOException {
         // 1、创建クッキー对象 
        クッキークッキー= 新しいクッキー( "MSG"、 "こんにちは" )。
        // 2、发送クッキー
        response.addCookie(クッキー); 
    } 

    @Overrideは、
    保護された ボイドのdoGet(HttpServletRequestのリクエスト、HttpServletResponseの応答)がスローServletExceptionがは、IOException {
         この.doPost(要求、応答)。
    } 
}
パッケージcom.Cookie.demo01を。

輸入javax.servlet.ServletException;
輸入javax.servlet.annotation.WebServlet;
インポートのjavax.servlet.http.Cookie。
輸入javax.servlet.http.HttpServlet。
インポートのjavax.servlet.http.HttpServletRequest;
インポートのjavax.servlet.http.HttpServletResponse;
インポートにjava.io.IOException; 

/ ** 
 *获取クッキー
 * / 
@WebServlet( "/ CookieDemo02" のパブリック クラス CookieDemo02は拡張のHttpServletを{ 
    @Overrideが
    保護された 無効doPostメソッド(HttpServletRequestのリクエスト、HttpServletResponseの応答)がスローServletExceptionがは、IOException {
         // 3、获取クッキー 
        クッキー[] CS = request.getCookies()。
        // 获取数据、遍历クッキー
        の場合(CS =!ヌル){
             のために(クッキーC:CS){ 
                文字列名 = c.getName(); 
                文字列値 = c.getValue()。
                System.out.println(名前 + ":" + 値)。
            } 
        } 
    } 

    @Overrideは
    保護され 、ボイドdoGet(HttpServletRequestのリクエスト、HttpServletResponseの応答)スローServletExceptionがは、IOException {
         この.doPost(要求、応答)。
    } 
}

3.原則

  *応答に基づいて、およびSet-Cookieヘッダークッキー要求ヘッダー達成します

 

 

 

 

4、クッキーの詳細

  1、一度複数のクッキーを送ることができますか?

    *缶

    *クッキーは何回addCookie方法は、クッキー応答コールを送信するために使用することができ、複数のオブジェクトを作成することができます。

  どのくらいのために、ブラウザに保存されている2、クッキー?

    ブラウザを閉じたときに1、デフォルトで、クッキーのデータが破壊されます

    2、永続ストレージ:

    * setMaxAge(int型秒)

      1、正の数:クッキーデータはハードディスクファイルに書き込まれます。永続ストレージ。クッキーの生存期間。

      2、負:デフォルト

      3.ゼロ:削除クッキー情報

パッケージcom.Cookie.demo01を。

輸入javax.servlet.ServletException;
輸入javax.servlet.annotation.WebServlet;
インポートのjavax.servlet.http.Cookie。
輸入javax.servlet.http.HttpServlet。
インポートのjavax.servlet.http.HttpServletRequest;
インポートのjavax.servlet.http.HttpServletResponse;
インポートにjava.io.IOException; 

/ ** 
 *クッキー快速入门
 * / 
@WebServlet( "/ CookieDemo01" のパブリック クラス CookieDemo01が拡張HttpServletを{ 
    @Overrideは
    保護され 、ボイドdoPost(HttpServletRequestのリクエスト、HttpServletResponseの応答)スローServletExceptionが、IOExceptionが{
         // 。1、Cookieオブジェクトの作成 
        クッキークッキー= 新しい新しいクッキー( "MSG"、 "こんにちは" );
         // クッキーの生存設定
         // 生存負のデフォルト30秒0削除クッキー情報(クローズブラウザが消え) 
        cookie.setMaxAge(30 );
         // 2、送信クッキー
        response.addCookie(クッキー); 
    } 

    @Overrideが
    保護 ボイドのdoGet(HttpServletRequestのリクエスト、HttpServletResponseの応答)スローServletExceptionが、IOExceptionが{
         .doPost(リクエスト、レスポンス)。
    } 
}
パッケージcom.Cookie.demo01を。

輸入javax.servlet.ServletException;
輸入javax.servlet.annotation.WebServlet;
インポートのjavax.servlet.http.Cookie。
輸入javax.servlet.http.HttpServlet。
インポートのjavax.servlet.http.HttpServletRequest;
インポートのjavax.servlet.http.HttpServletResponse;
インポートにjava.io.IOException; 

/ ** 
 *获取クッキー
 * / 
@WebServlet( "/ CookieDemo02" のパブリック クラス CookieDemo02は拡張のHttpServletを{ 
    @Overrideが
    保護された 無効doPostメソッド(HttpServletRequestのリクエスト、HttpServletResponseの応答)がスローServletExceptionがは、IOException {
         // 3、获取クッキー 
        クッキー[] CS = request.getCookies()。
        // 获取数据、遍历クッキー
        の場合(CS =!ヌル){
             のために(クッキーC:CS){ 
                文字列名 = c.getName(); 
                文字列値 = c.getValue()。
                System.out.println(名前 + ":" + 値)。
            } 
        } 
    } 

    @Overrideは
    保護され 、ボイドdoGet(HttpServletRequestのリクエスト、HttpServletResponseの応答)スローServletExceptionがは、IOException {
         この.doPost(要求、応答)。
    } 
}

 

  3、クッキーは、中国を保存することはできませんか?

    * tmocat8クッキーは、中国のデータに直接格納することはできません前に、

      *中国のデータのニーズが船のURLエンコード----トランスコードされる(%E3)

    * Tomcat8クッキーデータが中国に保存することができた後、

  4、クッキーの取得どの程度?

    1、tmocatサーバを想定し、Webプロジェクトの数を展開し、クッキーは、これらのWebプロジェクトで共有することはできませんか?

      *デフォルトでクッキーを共有することはできません

      * SETPATH(文字列のパス):クッキーの取得範囲を設定します。デフォルトでは、現在の仮想ディレクトリを設定します

      *あなたが共有したい場合は、「/」へのパスを設定することができます

    2、異なるのTomcatサーバクッキーの共有の間に?

      * SetDomain(文字列のパス):ドメイン名と同じ場合は、複数のサーバ間でクッキーが利用可能に共有します

        * SetDomain( "Baiduの、COM")、その後、tieba.baidu.com news.baidu.comクッキーに共有することができます

5、クッキーの特性と機能

  1、Cookieデータは、クライアントのブラウザに保存されています

  2、(20)ブラウザは、単一のクッキーサイズのため(4キロバイト)制限されており、同じドメイン名でクッキーの合計数には限界があります

 

  *役割:

   1、クッキーは、一般的に少量のデータを格納するための感度が低いです

   2、クライアントの識別にサーバーを、ログイン完了せず

おすすめ

転載: www.cnblogs.com/21seu-ftj/p/12563456.html