Servlets 从外部web.xml文件中访问servlet类

Servlets 从外部web.xml文件中访问servlet类,servlets,accessibility,external,Servlets,Accessibility,External,我有两个web应用程序。但其中只有一个包含Java servlet类。我想从其他应用程序的web.xml文件中访问该servlet类。可能吗?如果可能,怎么可能?在web.xml中不能这样做。但是,您可以创建一个新的servlet,该servlet将请求重定向/转发到另一个web应用程序的servlet。重定向很容易,只要让URL指向特定的servlet即可 response.sendRedirect("/otherwebapp/theservlet"); 转发需要更多的工作。由于安全限制,这

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

web.xml
中不能这样做。但是,您可以创建一个新的servlet,该servlet将请求重定向/转发到另一个web应用程序的servlet。重定向很容易,只要让URL指向特定的servlet即可

response.sendRedirect("/otherwebapp/theservlet");
转发需要更多的工作。由于安全限制,这在默认情况下是不可能的。首先,您需要配置servletcontainer,以启用相关Web应用程序之间的跨上下文访问。不清楚您使用的是哪一个,因此这里只是一个以Tomcat为目标的示例,以便您了解您应该朝哪个方向寻找自己的servletcontainer:对于这两个Web应用程序,您需要将元素的
crossContext
属性设置为
true

<Context crossContext="true">
最后,您可以通过它转发请求,如下所示:

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