我有两个 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/