<%--===========================================================================
  << jsp121a.jsp >>

  JSP(2):フォームから入力(テキストフィールド、日本語入力)

   formタグを使って入力する。

 ●文字化け対策1
  日本語を含むフォームデータをgetParameterメソッドを使って受け取った場合、
  文字コード(ISO8859_1)として受け取り、Unicodeに変換される。
  ところが、送られてくるデータはSJISまたはEUC_JPなので、文字化けが起こる。
  そこで、getBytesメソッドで変換前のISO8859_1コードに戻し、改めて、
  SJISまたはEUC_JPコードとして受信したとしてUnicodeに変換する。
  受信した漢字コードが分からない場合、自動的に判断できるJISAutoDetect指定に
  しておくと便利である。

   String s = request.getParameter("formタグ側のname項目");
      String t = new String(s.getBytes("ISO8859_1"),"JISAutoDetect");

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

<%@ page contentType="text/html; charset=Shift_JIS" %>

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

<%-- 文字化け対策1 --%>
<%
  String s = request.getParameter("f1");
  String t = new String(s.getBytes("ISO8859_1"),"JISAutoDetect");
  out.println(t + "さんですね");
%>

</body>
</html>
HTMLファイル(hpj121a.htm)
<!-- << hpj121a.htm >> -->
<html>
<head><title>JSP</title></head>
<body>
<form action=http://localhost:8080/SV/jsp121a.jsp method=POST>
名前を入力してください:<input type=text size=30 name=f1><br>
<input type=submit value=送信>
</form>
</body>
</html>
実行結果

URL(http://localhost:8080/SV/hpj121a.htm)を指定後




送信後