これら 2 つのコード行の違いと、それぞれをいつ使用する必要があるのでしょうか?
1.
RequestDispatcher view = request.getRequestDispatcher(“result.jsp”);
2.
RequestDispatcher view = getServletContext().getRequestDispatcher(“/result.jsp”);
これら 2 つのコード行の違いと、それぞれをいつ使用する必要があるのでしょうか?
1.
RequestDispatcher view = request.getRequestDispatcher(“result.jsp”);
2.
RequestDispatcher view = getServletContext().getRequestDispatcher(“/result.jsp”);
1)RequestDispatcher view = request.getRequestDispatcher(“result.jsp”);
ここ、
Java docは言う、
現在のサーブレット コンテキストの外に拡張することはできませんが、指定されたパス名は相対パスにすることができます。パスが「/」で始まる場合、現在のコンテキスト ルートを基準として解釈されます。サーブレット コンテナが RequestDispatcher を返せない場合、このメソッドは null を返します。
このメソッドと ServletContext.getRequestDispatcher(java.lang.String) の違いは、このメソッドが相対パスを取ることができることです。
2) RequestDispatcher ビュー = getServletContext().getRequestDispatcher(“/result.jsp”);
ここ、
Java docは言う、
パス名は「/」で始まる必要があり、現在のコンテキスト ルートを基準として解釈されます。getContext を使用して、外部コンテキストのリソースの RequestDispatcher を取得します。ServletContext が RequestDispatcher を返すことができない場合、このメソッドは null を返します。