【问题标题】:Jetty 6 to Jetty 9 Context Deployer migrationJetty 6 到 Jetty 9 Context Deployer 迁移
【发布时间】:2015-01-21 20:09:21
【问题描述】:

从 Jetty 6 迁移到 9 比我最初想象的要困难得多,但感谢大家在线提供的资源,我已经完成了很多工作

我怀疑我没有在网上找到关于 Jetty 9 中的嵌入式 Servlet 的 xml 示例,除了下面的链接

http://jetty.4.x6.nabble.com/Jetty-9-Context-Deployer-td4960157.html

首先,你们似乎都从 ContextDeployer 迁移到了 WebAppProvider,这是正确的说法吗?

我问这个是因为在 Jetty6 中,我能够使用上下文部署程序来搜索目录以将 servlet 配置为上下文对象。由于 ContextDeployers 似乎消失了,我看到的 Jetty 中最接近的用法是 WebAppProvider,它从战争文件中打开网页。这不是我的公司想要做的,我们希望能够像过去一样使用上下文

现在我已经看到了 ServletContextHandler,它看起来很容易配置并且可以充当上下文对象。但是,我当前的 Web 应用程序提供程序配置不会打开我的 servlet 网页

这是我如何在 xml 中使用 DeployManager 的摘录

<Call name="addBean">
<Arg>
  <New id="DeploymentManager" class="org.eclipse.jetty.deploy.DeploymentManager">
    <Set name="contexts">
      <Ref refid="Contexts" />
    </Set>

    <Call id="webappprovider" name="addAppProvider">
      <Arg>
        <New class="org.eclipse.jetty.deploy.providers.WebAppProvider">
          <Set name="monitoredDirName"><Property name="jetty.home" default="config/jetty/context/"/></Set>
          <Set name="scanInterval">5</Set>
        </New>
      </Arg>
    </Call>
  </New>
</Arg>

一个示例 Servlet 配置 xml

<Configure id="contexts" class="org.eclipse.jetty.servlet.ServletContextHandler">
  <Set name="contextPath">/</Set>
  <Call name="addServlet">
    <Arg>class.name.here</Arg>
    <Arg>/*</Arg>
  </Call>
</Configure>

【问题讨论】:

  • 您的 servlet 类将从哪里加载?它们是特定于上下文的吗?或特定于服务器? (没有提示您如何在 Jetty 6 中执行此操作,因为它也有相同的类加载器问题)
  • 您在问题中提到了嵌入式 servlet 并标记了嵌入式码头,但您的问题似乎是从码头分布和 xml 配置的角度来看的。您使用的是哪种形式?
  • 后者,我使用的是xml配置,这是我认为我不能偏离的东西。对困惑感到抱歉。我对码头的了解越来越多,但仍然非常有限。

标签: jetty


【解决方案1】:

您可以以与之前使用 ContextDeployer 完全相同的方式使用 WebAppProvider。具体来说,如果您将 context.xml 文件放入 webapp 目录,它将完全像使用 ContextDeployer 一样进行热部署。

至于你希望部署的 Context 的类型,它可以是一个 ContextHandler、一个 ServletContextHandler、一个 WebAppContext 或任何其他扩展 ContextHandler 的东西

在 demo-base/webapps 目录中查找一些示例。

在您的示例中,我猜测 id="contexts" 可能是问题所在。尝试删除它,因为那里不需要 id。除此之外,它看起来应该可以工作,所以你走在正确的道路上。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-11
    • 2011-10-26
    相关资源
    最近更新 更多