JSP の Cookie の例
What are Cookies?
- Cookie はクライアント マシンに保存されるテキスト ファイルです。
- これらは、さまざまな目的で情報を追跡するために使用されます。
- サーブレット技術を使用した HTTP Cookie をサポートします
- Cookie は HTTP ヘッダーに設定されます。
- ブラウザが Cookie を保存するように設定されている場合、有効期限まで情報が保持されます。
JSP の Cookie の種類
- 永続的なCookie: 永続的な Cookie は、一定期間デバイスに保存され、Web サイトがユーザーの設定やログインの詳細を記憶するのに役立ちます。
- 非永続Cookie: 非永続的な Cookie は一時的なもので、ブラウザを閉じると削除されます。主にセッション追跡に使用されます。
JSP Cookie メソッド
クッキーのメソッドは次のとおりです。
-
パブリック void setDomain(文字列ドメイン)
この JSP セット Cookie は、Cookie が適用されるドメインを設定するために使用されます。
-
パブリック文字列 getDomain()
この JSP 取得 Cookie は、Cookie が適用されるドメインを取得するために使用されます。
-
パブリック void setMaxAge(int expiry)
Cookie の有効期限が切れるまでに適用される最大時間を設定します。
-
パブリック intgetMaxAge()
JSPのCookieの最大存続期間を返します。
-
パブリック文字列 getName()
クッキーの名前を返します
-
パブリック void setValue(文字列値)
Cookieに関連付けられた値を設定します
-
パブリック文字列 getValue()
Cookieに関連付けられた値を取得します
-
Public void setPath(文字列パス)
JSP 内のこの set cookie は、cookie が適用されるパスを設定します。
-
パブリック文字列getPath()
Cookieが適用されるパスを取得します
-
Public void setSecure(Boolean flag)
暗号化された接続を介して送信するかどうかを指定する必要があります。
-
パブリック void setComment(String cmt)
Cookieの目的を説明します
-
パブリック文字列 getComment()
記述されている Cookie コメントを返します。
JSP で Cookie を処理する方法
- Cookieオブジェクトの作成
- 最大年齢の設定
- HTTP 応答ヘッダーで Cookie を送信する
例
この JSP クッキーの例では、ユーザー名とメールのクッキーを作成し、クッキーに 10 時間の経過時間を追加して、action_cookie.jsp で変数名を取得することによって、JSP でクッキー コンストラクターを呼び出す方法を学習します。
アクションクッキー.jsp。
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Guru Cookie</title> </head> <body> <form action="action_cookie_main.jsp" method="GET"> Username: <input type="text" name="username"> <br /> Email: <input type="text" name="email" /> <input type="submit" value="Submit" /> </form> </body> </html>
アクションクッキー_メイン.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <% Cookie username = new Cookie("username", request.getParameter("username")); Cookie email = new Cookie("email", request.getParameter("email")); username.setMaxAge(60*60*10); email.setMaxAge(60*60*10); // Add both the cookies in the response header. response.addCookie( username ); response.addCookie( email ); %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Guru Cookie JSP</title> </head> <body> <b>Username:</b> <%= request.getParameter("username")%> <b>Email:</b> <%= request.getParameter("email")%> </body> </html>
コードの説明
アクションクッキー.jsp
コード行 10 ~ 15: ここでは、action_cookie_main.jsp で処理する必要があるフォームを取得しています。また、送信ボタンを使用してユーザーから入力を取得する必要がある 2 つのフィールド「ユーザー名」と「メール」を取得しています。
アクションクッキー_メイン.jsp
コード行 6 ~ 9: request.getParameter を使用して、「username」と「email」の 2 つの Cookie オブジェクトを作成します。
コード行 12 ~ 13: ここでは、作成された両方の Cookie に 10 時間の経過期間を追加しています。つまり、Cookie はその経過期間で期限切れになります。
コード行 16 ~ 17: ユーザー名とメールのセッションに Cookie を追加すると、getParameter() によって要求されたときにこれら 2 つの Cookie を取得できるようになります。
出力
上記のコードを実行すると、次の出力が得られます。
action_cookie.jsp を実行すると、ユーザー名とメールの 2 つのフィールドが取得され、ユーザー入力を受け取り、送信ボタンをクリックします。変数がクライアント側の Cookie JSP に保存される action_cookie_main.jsp から出力を取得します。