リクエストスコープとは
リクエストスコープはリクエストの度に生成されます。保存したインスタンスは、レスポンスが返されるまで利用できます。
このスコープを利用すれば、フォワード元とフォワード先でインスタンスを共有できます。
リクエストスコープの正体
リクエストスコープの操作は、HttpServletRequestインスタンスのメソッドを使うことで実現します。
リクエストスコープに保存する
request.setAttribute("属性名" <String>, インスタンス <Object>);
リクエストスコープからインスタンスを取得する
取得型 名前 = (取得型) request.getAttribute("属性名" <String>);
サンプルプログラム
RequestScopeSample.java
protected void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//インスタンス生成
Human human = new Human("マサト", 25);
//リクエストスコープにインスタンスを保存
request.setAttribute("human", human);
//リクエストスコープからインスタンスを取得
Human h = (Human) request.getAttribute("human");
}
サンプルプログラム - JSPファイル -
JSPファイルでリクエストスコープを使うときは、暗黙オブジェクト「request]を使用しましょう。
JSPファイルでリクエストスコープを利用
<%@ page import="model.Human" %>
<%
//リクエストスコープからインスタンスを取得
Human h = (Human) request.getAttribute("human");
%>
<%= h.getName() %>君は<%= h.getAge() %>歳です。