トップ 新規 編集 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

JSPの基本:Cookie

JSPの基本:Cookie

 Cookieとは

  • ブラウザ側に利用者のデータを一定期間、保存しておく技術のこと。
  • ページのカスタマイズや認証を省略したりするときに使われる。

 Cookieの追加

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %>
<%    //クッキーセットページ
    if(request.getParameter("color")!=null) {
        //もし入力された色があればクッキーに保存
        response.addCookie(new Cookie("color", request.getParameter("color")));
    }
%>
<HTML>
 <BODY>
  <FORM METHOD="POST" ACTION="<%=request.getRequestURI() %>">
        色は何がよいですか?。
        <A HREF="./cookieGet.jsp">クッキー獲得JSP</A>
        の色が変わるはずです。
      <UL>
          <LI>青<INPUT TYPE="radio" NAME="color" VALUE="blue">
          <LI>赤<INPUT TYPE="radio" NAME="color" VALUE="red">
          <LI>黄<INPUT TYPE="radio" NAME="color" VALUE="yellow">
      </UL>
      <INPUT TYPE="submit" VALUE="更新" >
  </FORM>
 </BODY>
</HTML>

 Cookieの取得

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %>
<%
    String color="brown";    //クッキーがなければ茶色
    Cookie[] cookies = request.getCookies();
    for(int i=0;i<cookies.length;i++) {
        if(cookies[i].getName().equals("color")) {
            //クッキーに色があればそれを獲得
            color=cookies[i].getValue();
        }
    }
%>
<HTML>
 <BODY BGCOLOR="<%=color%>">
    <A HREF="./cookieSet.jsp">クッキー設定JSP</A>
    によって色が変わります。
 </BODY>
</HTML>

 Cookieの設定と取得

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<%@ page contentType="text/html;charset=Shift_JIS" %>
<%
    String color="brown";    //クッキーがなければ茶色
    Cookie[] cookies = request.getCookies();
    for(int i=0;i<cookies.length;i++) {
        if(cookies[i].getName().equals("color")) {
            //クッキーに色があればそれを獲得
            color=cookies[i].getValue();
        }
    }
    if(request.getParameter("color")!=null) {
        //もし入力された色があればクッキーに保存
        response.addCookie(new Cookie("color", request.getParameter("color")));
    }
%>
<HTML>
 <BODY BGCOLOR="<%=color%>">
  <FORM METHOD="POST" ACTION="<%=request.getRequestURI() %>">
        色は何がよいですか?。一回遅れて色が変わるはずです。
      <UL>
          <LI>青<INPUT TYPE="radio" NAME="color" VALUE="blue">
          <LI>赤<INPUT TYPE="radio" NAME="color" VALUE="red">
          <LI>黄<INPUT TYPE="radio" NAME="color" VALUE="yellow">
      </UL>
      <INPUT TYPE="submit" VALUE="更新" >
  </FORM>
    <HR>
 </BODY>
</HTML>

 参考リンク

最終更新時間:2007年12月06日 08時43分49秒