SAK 図書館
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 編資料