ServletRequest和ServletContext接口中getRequestDispatcher()中的java单一方法 1 周,6 日 Questions & Answers 1247 嗨 我想知道在ServletRequest和ServletContext接口中有一个名为getRequestDispatcher()的方法。有什么区别
# 1 楼答案 可以将相对路径传递给ServletRequest的getRequestDispatcher(),但不能传递给ServletContext的getRequestDispatcher() 示例: 我当前的请求是通过网页-webapp/view/core/bar提供的。jsp 并请求页面-webapp/view/util/foo。jsp 请求。getRequestDispatcher(“../util/foo.jsp”)有效,并将根据相对于当前请求的路径进行计算 servletContext。getRequestDispatcher(“/view/util/foo.jsp”)有效,并将从上下文根进行计算 这是因为ServletContext不会知道当前的请求路径。 如果您决定使用“/”root访问您的资源,那么这两种方式是相同的
# 2 楼答案 如Servlet API Javadocs中所述 The difference between this method [the ServletRequest one] and ServletContext.getRequestDispatcher(java.lang.String) is that this method can take a relative path.
# 1 楼答案
可以将相对路径传递给ServletRequest的getRequestDispatcher(),但不能传递给ServletContext的getRequestDispatcher()
示例:
我当前的请求是通过网页-webapp/view/core/bar提供的。jsp 并请求页面-webapp/view/util/foo。jsp
请求。getRequestDispatcher(“../util/foo.jsp”)有效,并将根据相对于当前请求的路径进行计算
servletContext。getRequestDispatcher(“/view/util/foo.jsp”)有效,并将从上下文根进行计算
这是因为ServletContext不会知道当前的请求路径。 如果您决定使用“/”root访问您的资源,那么这两种方式是相同的
# 2 楼答案
如Servlet API Javadocs中所述