如何将请求从web1/servlet转发到web2/servlet?

was*_*lli 6 java servlets

我有两个Web应用程序说web1和web2.我想将web1/servlet1的请求转发到web2/servlet2.可能吗?请帮忙!

ska*_*man 9

这是一个两步过程:

  1. 抓住ServletContext代表web2
  2. 获得RequestDispatcherServletContext对应servlet2

所以,从内部来看,这样的事情servlet1:

ServletContext web1 = getServletContext();
ServletContext web2 = web1.getContext("/web2");
RequestDispatcher dispatcher = web2.getRequestDispatcher("/servlet2");
dispatcher.forward(request, response);
Run Code Online (Sandbox Code Playgroud)

所有这一切都有一个很大的警告 - 容器可能没有配置为允许跨上下文转发,因为它存在潜在的安全风险.如果是这种情况,getContext("web2")将返回null.