这两个代码行有什么不同,我们何时应该使用它们?
1
RequestDispatcher view = request.getRequestDispatcher(“result.jsp”);
2
RequestDispatcher view = getServletContext().getRequestDispatcher(“/result.jsp”);
答案 0 :(得分:4)
1)RequestDispatcher view = request.getRequestDispatcher(“result.jsp”);
在这里,
java doc说,
指定的路径名可能是相对的,但不能扩展 在当前servlet上下文之外。如果路径以" /"开头它 被解释为相对于当前上下文根。这种方法 如果servlet容器无法返回a,则返回null RequestDispatcher的。
这种方法与之间的区别 ServletContext.getRequestDispatcher(java.lang.String)就是这个 方法可以采取相对路径。
2)RequestDispatcher view = getServletContext()。getRequestDispatcher(“/ result.jsp”);
在这里,
java doc说,
路径名必须以" /"开头。并被解释为相对于 当前的上下文根。使用getContext获取RequestDispatcher 对于外国环境中的资源。如果是,则此方法返回null ServletContext无法返回RequestDispatcher。