【问题标题】:RequestDispatcher forward between Tomcat instancesRequestDispatcher 在 Tomcat 实例之间转发
【发布时间】:2011-02-18 09:53:15
【问题描述】:

我有一个场景,我有一个入口点 Servlet 和更多的 Servlet,这些 Servlet 将请求转发到进行繁重的处理。

我正在寻找分配此负载的选项,我想知道是否可以使用 Tomcat 或其他平台在使用集群类型配置或类似配置的不同服务器上的 Servlet 之间转发请求。

我找到了一些关于集群 Servlet 和 Tomcat 的文档,但没有一个说明 Servlet 请求转发是否可行。

http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/web-tier/web-tier5.html

http://tomcat.apache.org/tomcat-5.5-doc/cluster-howto.html

【问题讨论】:

    标签: java tomcat servlets


    【解决方案1】:

    您可以在集群 Tomcat 环境中通过 webapps 分发它,并将 crossContext="true" 添加到相关 webapps 的 <Context> 元素中。这是Tomcat's Context Configuration Reference的摘录:

    crossContext

    如果您希望在此应用程序中调用ServletContext.getContext() 以成功地为在此虚拟主机上运行的其他 Web 应用程序返回请求调度程序,请设置为 true。在有安全意识的环境中设置为false(默认值),以使getContext() 始终返回null

    这样就可以得到想要的RequestDispatcher,如下:

    RequestDispatcher dispatcher = getServletContext().getContext(name).getRequestDispatcher(path);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-08-01
      • 1970-01-01
      • 2010-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多