SAK 図書館

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

JAVA Servlet、JSP 基礎編8 - クッキー、getCookies、getValue、setMaxAge

■クッキー

  ・Cookie は、そこそこ簡単に使用できる。
    有効期限の指定が楽で良い。

// test.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class test extends HttpServlet {

  public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {
    res.setContentType("text/html; charset=SJIS");

    Cookie[] reqck = req.getCookies();
    Cookie ck;
    String c1 = "";
    int i;

    for (i = 0; i < reqck.length; i++) {
      ck = reqck[i];
      if (ck.getName().equals("name")) {
        c1 = ck.getValue();
        break;
      }
    }

    c1 = c1 + "data";
    ck = new Cookie("name", c1);
    ck.setMaxAge(10);             // 有効秒
    res.addCookie(ck);

    PrintWriter rw = res.getWriter();
    rw.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\">");
    rw.println("<HTML>");
    rw.println("<HEAD>");
    rw.println("<META http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\">");
    rw.println("<TITLE>JAVA Servlet Test</TITLE>");
    rw.println("</HEAD>");
    rw.println("<BODY>");
    rw.println("<P>Cookie name = " + c1 + "</P>");
    rw.println("</BODY>");
    rw.println("</HTML>");
  }

}

  ・日本語データをクッキーにセットする場合は、URLDecoder.decode()、
    URLEncoder.encode() を使用して、次のようにする。

// test.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.net.*;

public class test extends HttpServlet {

  public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {
    res.setContentType("text/html; charset=SJIS");

    Cookie[] reqck = req.getCookies();
    Cookie ck;
    String c1 = "";
    int i;

    for (i = 0; i < reqck.length; i++) {
      ck = reqck[i];
      if (ck.getName().equals("name")) {
        c1 = URLDecoder.decode(ck.getValue());
        break;
      }
    }

    c1 = c1 + "日本語";
    ck = new Cookie("name", URLEncoder.encode(c1));
    ck.setMaxAge(10);             // 有効秒
    res.addCookie(ck);

    PrintWriter rw = res.getWriter();
    rw.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\">");
    rw.println("<HTML>");
    rw.println("<HEAD>");
    rw.println("<META http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\">");
    rw.println("<TITLE>JAVA Servlet Test</TITLE>");
    rw.println("</HEAD>");
    rw.println("<BODY>");
    rw.println("<P>Cookie name = " + c1 + "</P>");
    rw.println("</BODY>");
    rw.println("</HTML>");
  }

}

■JAVA Servlet、JSP 基礎編資料
■JAVA Servlet、JSP + PostgreSQL 編資料
■JAVA Servlet、JSP + Oracle9i 編資料
■PostgreSQL 編、JAVA Servlet、JSP 編資料
■MySQL 編資料
■SQL 基礎編資料
■SQL 基礎実地編資料
■SQL チューニング編資料
■Oracle PL/SQL 編資料
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索



Copyright (C) 1999-2024 Y.SAK