2010-08-09 83 views

回答

2

你不能这样做在web.xml。但是,您可以创建一个新的servlet,然后将该请求重定向/转发到其他Web应用程序的servlet。重定向很简单,只需让URL指向特定的servlet即可。

response.sendRedirect("/otherwebapp/theservlet"); 

转发需要更多的工作。由于安全限制,这在默认情况下是不可能的。首先,您需要配置servletcontainer以在相关Web应用程序之间启用跨上下文访问。目前尚不清楚您使用的是哪一个,所以这里只是一个Tomcat目标示例,以便您了解应该在哪个方向上查找自己的servlet容器:对于这两个webapps,需要将<Context>元素的crossContext属性设置为true

<Context crossContext="true"> 

这样你就可以通过ServletContext#getContext()获得servlet的内部其他方面:

ServletContext othercontext = getServletContext().getContext("/otherwebapp"); 

最后,你可以通过它转发请求如下:

othercontext.getRequestDispatcher("/theservlet").forward(request, response);