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