Javaプログラミング/サーバサイド&ケータイJava

JSPとサーブレットのキャッチボール(4ページ目)

JSPとサーブレット。両者の間で必要な情報をやり取りするための基本を覚えましょう。

執筆者:掌田 津耶乃

ページを移動するには?


さて、続いてサーブレットの修正です。が、こちらは実はもう一ひねりが必要です。それは「セッションに値を設定した後、JSPのページに表示を移動する」という処理を用意するからです。

サーブレットでHTMLのソースコードをずらずらと出力してフォームなどを画面に表示し、そこからJSPに送信するのであれば、ページの移動などは不要です。けれど、ここでは「JSPからサーブレットに送信したら、サーブレットで値を処理し、再びJSPに送り返す」ということを行なわせたいのです。つまり、サーブレットで画面を表示するのではなく、サーブレットは必要な処理だけをして、表示は再びJSPで行なわせるわけですね。

  protected void processRequest(HttpServletRequest request,
      HttpServletResponse response)
      throws ServletException, IOException {
  request.setCharacterEncoding("UTF-8");
  String msg = (String)request.getParameter("msg");
  if (msg != null){
    msg = "送信ありがとう、" + msg + "さん!";
  } else {
    msg = "";
  }
  response.setCharacterEncoding("UTF-8");
  HttpSession session = request.getSession();
  session.setAttribute("message",msg);
  ServletContext context = this.getServletContext();
  RequestDispatcher dispatcher = context.getRequestDispatcher("/index.jsp");
  dispatcher.forward(request,response);
}


JSPからサーブレットに送信すると、再びJSPに表示が戻される。

こんな感じのメソッドになりました。見慣れないメソッドがいくつも登場していますね。これらが、ページ移動のための処理を行なっているのです。


  • 前のページへ
  • 1
  • 3
  • 4
  • 5
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます