<%--===========================================================================
  << jsp151d.jsp >>

  JSP(5):クッキー(作成と送信、漢字処理)
  
    クッキーの作成を行う。
   項目の値に漢字を設定する。
   クッキーの値に漢字を設定するには、URLEncoderクラスのencodeメソッドを使う。
  
 ●java.net.URLEncoderクラス
  HTML形式を符号化するためのクラスである。
  このクラスには、String を application/x-www-form-urlencoded MIME 形式に
  変換するための staticメソッドが含まれている。

 ●URLEncoderクラスのメソッド
    public static String encode(String s, String t)
                                 throws UnsupportedEncodingException
     機能:特定の符号化方式tを使用して文字列sを
      application/x-www-form-urlencoded 形式に変換する。
      符号化方式として、UTF-8 が推奨されている。

  String を符号化するときの規則
    (1)英数字文字のa〜z、A〜Z、0〜9は元のまま残す。 
  (2)特殊文字の「.」、「-」、「*」、「_」は元のまま残す。 
  (3)半角の空白文字「 」をプラス記号「+」に変換する。 
  (4)ほかのすべての文字は、最初に何らかの符号化方式を使用して 1つ以上の
    バイトに変換される。次に、各バイトは「%xy」の3文字の文字列で表される。
    ここで、xyはバイトを2桁の16進数で表現したもの。推奨される符号化方式は
    UTF-8である。

 ●起動法
  (1)JSPファイル(jsp151d.jsp)を作成し、
     %CATALINA_HOME%\webapps\SV\jsp151d.jsp
    に保存する。
    (2)URL(http://localhost:8080/SV/jsp151d.jsp)を指定する。
============================================================================--%>

<%@ page contentType="text/html; charset=Shift_JIS" %>
<%@ page import="java.net.*" %>

<html>
<head><title>JSP</title></head>
<body>

<%
  // クッキーの作成と追加。                                  
  Cookie c1 = new Cookie("DATA1","123");    
  response.addCookie(c1);

  String s2 = URLEncoder.encode("123 abc","UTF-8");
  out.println("123 abc:" + s2 + "<br>");                    
  Cookie c2 = new Cookie("DATA2",s2);    
  response.addCookie(c2);            
                        
  String s3 = URLEncoder.encode("123 abc 漢","UTF-8");
  out.println("123 abc 漢:" + s3 + "<br>");                    
  Cookie c3 = new Cookie("DATA3",s3);    
  response.addCookie(c3);                                    

  out.println("クッキーを設定しました");
%>

</body>
</html>
実行結果

URL(http://localhost:8080/SV/jsp151d.jsp)を指定後