Edited at

【JSP】フォワードする

More than 3 years have passed since last update.


【目的】

JSPにて別ページへフォワードする


【コード】

application.getRequestDispatcher("path").forward(request, response) // pathへフォワードする


【環境】

eclipse 4.4.2 / Java 1.8

JSP / Servlet


【構成】

-


【ポイント】

・JSPの暗黙オブジェクトapplicationを使う

・application.getRequestDispatcher("path").forward(request, response)

→pathへフォワードする、 pathは/からはじまるものを指定する

※フォワードは原理的にサーバ内部のページへ転送するときに用いる。

requestを指定先に送るためrequestDispatcherのオブジェクトを使う。

サーブレットのコードならば以下のようになる。


example.java

...

public void doGet(HttpServletRequest req, HttpServletResponse resp){
throws IOException, ServletException{
  ...
String path = "/hoge.jsp"; // フォワード先
RequestDispatcher dispatcher = request.getRequestDispatcher(path);
dispatcher.forward(req, resp);
...
}


【例】

・A.jspからB.jspへフォワードする

- web-application

| ・・・

|- A.jsp

|- B.jsp


A.jsp

...

<%
application.getRequestDispatcher("/B.jsp").forward(request, response); // B.jspへフォワード
%>


【参考】

リダイレクトとフォワードの違い