実際に試してみたのですが、AAA△BBB のような間に
半角空白があっても、正しく取得できましたが・・・・
以下に試したサンプルをつけます。
-----
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
public class Servlet1 extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=Shift_JIS";
/**グローバル変数の初期化*/
public void init(ServletConfig config) throws ServletException {
super.init(config);
}
/**HTTP Get リクエストの処理*/
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>Servlet1</title></head>");
out.println("<body>");
out.println("<form method=\"POST\" action=\"Servlet1\">");
out.println("<input type=\"text\" name=\"name\" size=\"20\">");
out.println("<input type=\"submit\" value=\"送信\" name=\"B1\"");
out.println("サーブレットは GET を受信しました。これは応答です。");
out.println("</form>");
out.println("</body></html>");
}
/**HTTP Post リクエストの処理*/
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType(CONTENT_TYPE);
String name = request.getParameter("name");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>Servlet1</title></head>");
out.println("<body>");
out.println("取得したフォームデータは " + name);
out.println("</body></html>");
}
}
お礼
getParameterする文字のエンコーディングを すると直りました。 ソースまで表示していただいてありがとうございました。