这两个代码行有什么不同,我们应该什么时候使用它们?
1.
RequestDispatcher view = request.getRequestDispatcher(“result.jsp”);
2.
RequestDispatcher view = getServletContext().getRequestDispatcher(“/result.jsp”);
这两个代码行有什么不同,我们应该什么时候使用它们?
1.
RequestDispatcher view = request.getRequestDispatcher(“result.jsp”);
2.
RequestDispatcher view = getServletContext().getRequestDispatcher(“/result.jsp”);
1)RequestDispatcher view = request.getRequestDispatcher(“result.jsp”);
这里,
java文档说,
指定的路径名可以是相对的,尽管它不能扩展到当前 servlet 上下文之外。如果路径以“/”开头,则将其解释为相对于当前上下文根。如果 servlet 容器无法返回 RequestDispatcher,则此方法返回 null。
该方法与 ServletContext.getRequestDispatcher(java.lang.String) 的区别在于该方法可以采用相对路径。
2) RequestDispatcher view = getServletContext().getRequestDispatcher(“/result.jsp”);
这里,
java文档说,
路径名必须以“/”开头,并被解释为相对于当前上下文根。使用 getContext 获取外部上下文中资源的 RequestDispatcher。如果 ServletContext 无法返回 RequestDispatcher,则此方法返回 null。