如何将请求从web1 / servlet转发到web2 / servlet? [英] How to forward request from web1/servlet to web2/servlet?

查看:105
本文介绍了如何将请求从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:


  1. 获取 ServletContext 代表 web2

  2. 从对应 servlet2 ServletContext 获取 RequestDispatcher

  1. Get hold of the ServletContext representing web2
  2. Get the RequestDispatcher from that ServletContext corresponding to servlet2

所以,这样的话,来自 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆