我有两个 Web 应用程序,分别是 web1 和 web2。我想将请求从 web1/servlet1 转发到 web2/servlet2。是否可以?请帮忙!

最佳答案

这是一个两步过程:

  • 获取表示 ServletContext
  • web2
  • RequestDispatcher 对应的 ServletContext 中获取 servlet2

  • 所以,从 servlet1 内部,像这样:
    ServletContext web1 = getServletContext();
    ServletContext web2 = web1.getContext("/web2");
    RequestDispatcher dispatcher = web2.getRequestDispatcher("/servlet2");
    dispatcher.forward(request, response);
    

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

    关于java - 如何将请求从 web1/servlet 转发到 web2/servlet?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4889113/

    10-10 11:45