Java:Eclipse4.3+Servlet間でデータを渡す(リクエストスコープ)手順まとめ

Doctor.Y
Java:Eclipse4.3+Servlet間でデータを渡す(リクエストスコープ)手順を紹介します

はじめに

Java:Eclipse4.3+Servlet間でデータを渡す(リクエストスコープ)手順を紹介します

手順0:Servlet開発環境の構築

以下のリンクを参考にServletを開発できる環境を構築しておく

さらにforward(フォワード)について知らない人は、
以下のリンクを参考にforwardのサンプルを動かしておく

手順1:動的Webプロジェクトの作成

プロジェクト名:scope

でプロジェクトを作成する

手順2:サーブレット作成

プロジェクトに以下の2つの新規サーブレットを作成しておく

javaパッケージ:jp.co.scope

サーブレットクラス1:servlet1
サーブレットクラス2:servlet2

手順3:servlet1.javaにコード記述(データ渡す方)

■処理の内容
リクエストスコープを使って”data”に”set data”というデータをセットし、
servlet2にフォワードする

■servlet1.javaのdoGetメソッドに以下のコードを記述

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setAttribute(“data”, “set data”);

RequestDispatcher dispatcher = request.getRequestDispatcher(“servlet2”);
dispatcher.forward(request, response);
}

■必要なimport

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

手順4:servlet2.javaにコード記述(データ渡される方)

■処理の内容
リクエストスコープを使って手順3でセットした”data”の値を取得し、
取得した値をレスポンスとして出力する

■servlet2.javaのdoGetメソッドに以下のコードを記述

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String data = (String)request.getAttribute(“data”);

response.getWriter().println(“data = ” + data);
}

■必要なimport

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

手順5:実行と動作確認

実行して以下のURLにアクセスすると、
http://localhost:8080/scope/servlet1

ブラウザに
data = set data
と表示されればOK

JSPにデータを渡す場合

サーブレットからJSPにデータを渡したい場合は、
例えばscope.jspというファイルを作成し、
間に以下のコードを記述

<% String data = (String)request.getAttribute("data"); out.println("This is jsp
“);
out.println(“data = ” + data);
%>

次に、手順3の以下の部分をjspファイルに置き換える

RequestDispatcher dispatcher = request.getRequestDispatcher(“servlet2”);

RequestDispatcher dispatcher = request.getRequestDispatcher(“scope.jsp”);

実行して以下のURLにアクセスすると、
http://localhost:8080/scope/servlet1

ブラウザに
This is jsp
data = set data
と表示される

https://matome.naver.jp/odai/2137450745900508601
2013年07月23日