サーブレット側の処理
では、これをNewServletで受け取ってみましょう。NewServletは、前回作成したNewServletクラスをそのまま利用しましょう。
package jp.tuyano;
import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class NewServlet extends HttpServlet {
protected void processRequest(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
String msg = (String)request.getParameter("msg");
PrintWriter out = response.getWriter();
out.println("");
out.println("※あなたは、「" + msg + "」と送信しました。");
out.println("");
out.close();
}
protected void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
}
JSPから送信した情報をサーブレットで受け取り表示する。 |
不要なコメントや使わないメソッドは省きました。web.xmlは既に用意されているものとします。では、出来上がったらサーブレット・コンテナを起動してフォームのページを開き、適当にテキストを記述して送信してみましょう。ちゃんと送られた情報をサーブレットで受け取り、表示されましたか?
ここでは、requestのsetCharacterEncodingというものを使って、リクエスト側の文字コードを設定し、それからgetParameterをしています。特に日本語を扱う場合、このように「値を取り出す前に、まず文字コードを設定しておく」というのは重要になりますので忘れないようにしましょう。