Servlet - Cookie の利用Advertisementjavax.servlet.http.Cookie
サーブレットではクッキーを表すクラス javax.servlet.http.Cookie が用意されている。
クッキーに値を設定する場合、HttpServletResponse の addCookie() メソッドに Cookie オブジェクトを渡せばよい。 設定したクッキーを取得するときは HttpServletRequest のメソッド getCookies() を利用する。 サンプルコード
クッキーを設定するサーブレット、クッキーを取得するサーブレットを作成し、交互にアクセスしてみる。
クッキーを設定するサーブレット
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class AddCookie extends HttpServlet {
//HTTP Get リクエストの処理
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html; charset=Shift_JIS");
Cookie cookie = new Cookie("user_id","testuser");
response.addCookie(cookie);
PrintWriter out = response.getWriter();
out.println("クッキーを設定しました。");
}
}
クッキーを取得するサーブレット
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class GetCookie extends HttpServlet {
//HTTP Get リクエストの処理
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html; charset=Shift_JIS");
String name = null;
String value = null;
Cookie cookies[] = request.getCookies();
for(int i = 0; i < cookies.length; i++){
if(cookies[i].getName().equals("name")){
name = cookies[i].getName();
value = cookies[i].getValue();
break;
}
}
PrintWriter out = response.getWriter();
out.println("クッキーを取得しました。"
+ name + ":" + value);
}
}
実行結果 ※カッコはユーザの動作 (GetCookie にアクセス) クッキーを取得しました。null:null (AddCookie にアクセス) クッキーを設定しました。 (GetCookie にアクセス) クッキーを取得しました。user_id:testuser クッキーには存続期間の設定などを行うこともできる。 各メソッドは、javax.servlet.http.Cookie(リンク先:ja-jakarta)を参照。 Advertisement |
ショートカット・634トップページ・このカテゴリのトップページに戻る ・634ラボ UIコレクションギャラリー サイト検索Y!ログール |