RequestDispatcher只有两个方法:forward()和include()。这两个方法都取请求和响应对象为参数。在这两个方法中,forward()是目前最常用的。一般不太可能从控制器servlet调用include方法,不过,在后台,JSP可能在<jsp:include>标准动作中调用include方法。而已采用两种方法得到RequestDispatcher对象,从请求中得到,或者从上下文(ServletContext)得到。
从ServletRequest得到RequestDispatcher
RequestDispatcher view = request.getRequestDispatcher("XXX");
ServletRequest中的getRequestDispatcher()方法需要一个String路径作为参数。该 路径作为参数可是相对路径,亦可以是绝对路径
从ServletContext得到RequestDispatcher
RequestDispatcher view = getServletContext().getRequestDispatcher("XXX");
与ServletRequest中的相应方法一样,这个getRequestDispatcher()方法也取一个String路径作为参数,要把请求发给哪个资源,就要在这里指定资源的路径,但必须是绝对路径。这意味着,路径必须以斜线开头!