ホームページ  >  記事  >  Java  >  JSP で Cookie を使用するにはどうすればよいですか? (コード例)

JSP で Cookie を使用するにはどうすればよいですか? (コード例)

青灯夜游
青灯夜游オリジナル
2019-02-11 12:53:032932ブラウズ

Cookie はユーザーのコンピュータに保存される小さな情報であり、Web サーバーはユーザーが次回アクセスするときに Cookie を使用してユーザーを識別します。次の記事では、Cookie について簡単に説明し、JSP を使用して Cookie を処理する方法を紹介します。 [ビデオチュートリアルの推奨: JSP チュートリアル]

JSP で Cookie を使用するにはどうすればよいですか? (コード例)

Cookie の仕組み

Cookie は、[キー|値] ペアの文字列の形式でユーザーのコンピュータに保存されます。さらに、Cookie にはドメイン、パス、タイムアウトなどのプロパティがあります。

ユーザーが Cookie を有効にして Web サイトにアクセスするたびに、Web サーバーは HTTP ヘッダーに追加データを追加し、Web ブラウザーに応答します。また、次回ユーザーが同じサイトに再度アクセスしたときに、Web ブラウザは HTTP リクエスト ヘッダー内の Cookie を Web サーバーに送信します。

ユーザーは、Firefox、IE など、Cookie 無効化機能をサポートする Web ブラウザで Cookie を無効にすることもできます...

JSP で Cookie を使用するにはどうすればよいですか?

JSP は、クラス javax.servlet.http.Cookie のオブジェクトを通じて Cookie を効率的に使用できる API を提供します。 JSPでCookieを使用する方法を簡単に紹介します。

1. JSP を使用して Cookie を設定する

JSP を使用して Cookie を設定する手順は 3 つのステップに分かれます:

1)、Cookie オブジェクトを作成します。 :

たとえば、Cookie コンストラクターを呼び出す必要があります:

Cookie cookie = new Cookie("key","value");

注: Cookie はキーと値のペアの形式で存在するため、Cookie の名前と値をパラメーターとして使用します (これらは両方の文字列)。

注: Cookie の名前と値にはスペースまたは次の文字を含めることはできません:

[ ] ( ) = , " / ? @ : ;

2)、有効期間の設定

Cookie には有効期限と呼ばれる独自のライフサイクルがあります。時間 。 Cookie のタイムアウトが設定されていない場合、Cookie はユーザーが Web ブラウザを閉じるときに削除されます。

setMaxAge() メソッドを呼び出して、Cookie の有効期間、つまり有効な期間 (秒単位) を設定できます。

例: 有効期間を 24 時間に設定します。次のように設定できます。

cookie.setMaxAge(60*60*24);

3)、Cookie を HTTP 応答ヘッダーに送信します。

次のように呼び出す必要があります。 response.addCookie() メソッド HTTP 応答ヘッダーに Cookie を追加します。例:

response.addCookie(cookie);

簡単な例: Web サーバーから cookie を送信

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@page import="javax.servlet.http.Cookie"%>
<!DOCTYPE html>
<html>
    <head>
        <title>设置Cookie</title>
    </head>
    <body>
<%
        // 编码,解决中文乱码   
       String str = URLEncoder.encode(request.getParameter("name"),"utf-8");
       // 设置 name 和 url cookie 
      Cookie cookie = new Cookie("php中文网","http://www.php.cn/);
       // 设置cookie过期时间为24小时。
      cookie.setMaxAge(60*60*24);
      // 在响应头部添加cookie
      response.addCookie(cookie);
        %>
    </body>
</html>

JSP を使用して Cookie を読み取る

HTTP リクエストから Cookie を読み取るには、まず、次の呼び出しを行います。リクエスト オブジェクトの getCookies() メソッド。リクエスト ヘッダー内の使用可能な Cookie のリストを返すか、getName() メソッドと getValue() メソッドを使用して各 Cookie の名前と値を取得します。これらすべての Cookie を閲覧できるようになります。以下は、getCookies() メソッドを使用して Cookie 情報を読み取る例です。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@page import="javax.servlet.http.Cookie"%>
<html>
    <head>
        <title>读取Cookie</title>
    </head>
    <body>
        <%
            Cookie[] list = request.getCookies();
            if(list != null){
                for(int i = 0; i < list.length;i++){
                    out.println(list[i].getName() + ":" + list[i].getPath());
                }
            }
        %>
    </body>
</html>

JSP を使用した既存の Cookie の削除

既存の Cookie については、Cookie オブジェクトの setMaxAge() メソッドを使用して有効期間をゼロに設定できます。

手順は次のとおりです。

● 既存の Cookie を取得し、それを Cookie オブジェクトに保存します。

● setMaxAge() メソッドを使用して、Cookie の有効期間を 0 に設定します。

例: 以下は、すべての Cookie を削除する例です。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@page import="javax.servlet.http.Cookie"%>
<!DOCTYPE html>
<html>
    <head>
        <title>删除cookie</title>
    </head>
    <body>
        <%
            Cookie[] list = request.getCookies();
            if (list != null) {
                for (int i = 0; i < list.length; i++) {
                    list[i].setMaxAge(0);
                    out.println("cookie:" + list[i].getName() + "已删除");
                }
            }
        %>
    </body>
</html>

以上がこの記事の全内容です、皆様の学習のお役に立てれば幸いです。さらにエキサイティングなコンテンツについては、PHP 中国語 Web サイトの関連チュートリアルのコラムに注目してください。 ! !

以上がJSP で Cookie を使用するにはどうすればよいですか? (コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。