使用RequestDispatcher
的主要目的是什么,例如在Filter
中执行时,如以下示例所示:
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws ServletException, IOException {
HttpServletRequest aHttpServletRequest = (HttpServletRequest) request;
aHttpServletRequest.getRequestDispatcher("/init.jsp").include(request, response);
chain.doFilter(request, response);
}
最佳答案
在您的情况下,JSP的输出将附加到过滤器所连接的每个页面的前面。这是一种可以轻松将通用标头添加到所有页面的技术。
在上下文中使用RequestDispatcher时,会有些混乱。通常,当您要将请求分派到另一个servlet或JSP进行处理时,可以使用RequestDispatcher转发给另一个资源。在这种情况下,您的请求不会分派到其他任何地方,而是会将其他资源生成的输出包括到当前响应中。