如何将请求从web1 / servlet转发到web2 / servlet? [英] How to forward request from web1/servlet to web2/servlet?
本文介绍了如何将请求从web1 / servlet转发到web2 / servlet?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有两个Web应用程序说web1和web2。我想将web1 / servlet1的请求转发到web2 / servlet2。可能吗?请帮忙!
I've two web applications say web1 and web2. I want to forward a request from web1/servlet1 to web2/servlet2. Is it possible? Please help!
推荐答案
这是一个分为两步的过程:
This is a two-step process:
- 获取
ServletContext
代表web2
- 从对应
servlet2
的ServletContext
获取RequestDispatcher
- Get hold of the
ServletContext
representingweb2
- Get the
RequestDispatcher
from thatServletContext
corresponding toservlet2
所以,这样的话,来自 servlet1
:
So, something like this, from inside servlet1
:
ServletContext web1 = getServletContext();
ServletContext web2 = web1.getContext("/web2");
RequestDispatcher dispatcher = web2.getRequestDispatcher("/servlet2");
dispatcher.forward(request, response);
所有这一切都有一个很大的警告 - 容器可能没有配置为允许跨上下文转发,因为这是一个潜在的安全风险。如果是这种情况, getContext(web2)
将返回 null
。
There's a big caveat to all of this - the container may not be configured to permit cross-context forwarding, since it's a potential security risk. If this is the case, getContext("web2")
will return null
.
这篇关于如何将请求从web1 / servlet转发到web2 / servlet?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文