サーブレットの動作
以下のようなサーブレットのプログラムがあります。
本サーブレットを実行すると、simpleDB.jspに飛ぶようになっています。
疑問点は以下です。
・GetやPostを使って送られてくるデータがないのに、なぜ
本プログラムが動くのか分かりません(根本的に分かって
ないんですが)。
・getServletContext().setAttribute("list", employeeList)で
listに設定をしてますが、listは飛ぶ先のsimpleDB.jspで定義
されています。なぜこのサーブレットで定義されていないものを、
設定することが可能なのでしょうか?
以上、ご回答頂けると幸いです。
----------
import java.io.IOException;
import文以下略
public class EmployeeServlet extends javax.servlet.http.HttpServlet {
/**
* 初期化メソッド
* 社員一覧をapplicationスコープにセットします
*/
public void init() {
EmployeeDAO dao = new EmployeeDAO();
//EmployeeDAOクラスは他で定義済み
ArrayList<Employee> employeeList = dao.findAll();
getServletContext().setAttribute("list", employeeList);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
/**
* リクエストを処理するメソッド
* simpleDB.jspに移動し、社員一覧を表示します
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String nextPage = "/view/simpleDB.jsp";
ServletContext context = getServletContext();
RequestDispatcher rd = context.getRequestDispatcher(nextPage);
rd.forward(request, response);
}
}
お礼
なるほど、そういうことでしたか… ありがとうございました。