RequestDispatcher是一个能接收客户端请求,并发送到服务器上任意资源(如servlet,html文件,jsp文件)的对象。servlet容易创建RequestDispatcher对象,这是一个被当做服务器特定位置或特定名称的资源的包装,requestDispatcher目的是用于servlet包装,但实际上servlet container可以创建一个requestdispatcher用于打包任意类型的资源
static final String FORWARD_REQUEST_URI = "javax.servlet.forward.request_uri":request属性名,必须由container在 forward(ServletRequest, ServletResponse) 方法调用时由 container设置,为request提供一个路径相关属性的原始值
static final String FORWARD_CONTEXT_PATH = "javax.servlet.forward.context_path";request属性名,必须由container在 forward(ServletRequest, ServletResponse) 方法调用时由 container设置,为request提供一个路径相关属性的原始值
static final String FORWARD_PATH_INFO = "javax.servlet.forward.path_info";request属性名,必须由container在 forward(ServletRequest, ServletResponse) 方法调用时由 container设置,为request提供一个路径相关属性的原始值
static final String FORWARD_SERVLET_PATH = "javax.servlet.forward.servlet_path";request属性名,必须由container在 forward(ServletRequest, ServletResponse) 方法调用时由 container设置,为request提供一个路径相关属性的原始值
static final String FORWARD_QUERY_STRING = "javax.servlet.forward.query_string";request属性名,必须由container在 forward(ServletRequest, ServletResponse) 方法调用时由 container设置,为request提供一个路径相关属性的原始值
static final String INCLUDE_REQUEST_URI = "javax.servlet.include.request_uri";
static final String INCLUDE_CONTEXT_PATH = "javax.servlet.include.context_path";
static final String INCLUDE_PATH_INFO = "javax.servlet.include.path_info";
static final String INCLUDE_SERVLET_PATH = "javax.servlet.include.servlet_path";
static final String INCLUDE_QUERY_STRING = "javax.servlet.include.query_string";:request属性名,由container在一个requestdispatcher(通过路径而不是名称获得)上调用 include(ServletRequest, ServletResponse) 方法时设置,它为这个include调用提供获得requestdispatcher的路径信息
public void forward(ServletRequest request, ServletResponse response)throws ServletException, IOException;Forward一个请求到服务器的另一个资源(jsp文件,servlet等),这个方法允许servlet对request做基本的处理之后对另外的资源生成response。
对一个由getRequestDispatcher()获得的RequestDispatcher 来说,ServletRequest 对象有他自己的路径参数去匹配目标资源
forward方法必须在response提交到客户端之前调用,否则会抛出异常
request和response的参数必须是同一对象
public void include(ServletRequest request, ServletResponse response) throws ServletException, IOException;:在一个response里include资源的内容,本质上,该include使能服务器端的include。
ServletResponse 对象