从外部web.xml文件中访问servlet类的可访问性

时间:2010-08-09 05:37:06

标签: servlets accessibility external

我有两个Web应用程序。但是其中只有一个包含Java servlet类。我想从其他应用程序的web.xml文件中访问该servlet类。是否可能?。如果可以,怎么可能? ?

1 个答案:

答案 0 :(得分:2)

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

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

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

<Context crossContext="true">

这样,您可以通过servlet中的<Context>获取其他上下文:

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

最后,您可以按如下方式转发请求:

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