Jetty 6到Jetty 9上下文部署程序迁移

Jetty 6到Jetty 9上下文部署程序迁移,jetty,Jetty,从Jetty 6迁移到Jetty 9比我最初想象的要困难得多,但我已经完成了很多工作,这要感谢你们在线提供的资源 我怀疑除了下面的链接之外,我还没有在Jetty 9中在线找到关于嵌入式servlet的xml示例 首先,看起来你们都从ContextDeployer迁移到了WebAppProvider,这是正确的说法吗 我这样问是因为在Jetty6中,我能够使用上下文部署器搜索目录,将servlet配置为上下文对象。由于ContextDeployer似乎已经消失,我在Jetty中看到的最接近的用法

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

我怀疑除了下面的链接之外,我还没有在Jetty 9中在线找到关于嵌入式servlet的xml示例

首先,看起来你们都从ContextDeployer迁移到了WebAppProvider,这是正确的说法吗

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

现在,我已经看到了ServletContextHandler,它似乎足够简单,可以配置并充当上下文对象。但是,我当前的web应用程序提供程序配置将不会打开我的servlet网页

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


5.

Servlet配置xml示例


/
class.name.here
/*

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

至于您希望部署的上下文类型,它可能只是一个ContextHandler、一个ServletContextHandler、一个WebAppContext或任何扩展ContextHandler的东西

查看demo base/webapps目录中的一些示例


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

从哪里加载servlet类?它们是特定于上下文的吗?还是特定于服务器?(没有提示您在Jetty 6中是如何做到这一点的,因为它也有同样的类加载器问题)您在问题中提到了嵌入式servlet,并标记了嵌入式Jetty,但您的问题似乎是从Jetty分发和xml配置的角度提出的。您使用的是哪种形式?后者,我使用的是xml配置,这是我认为无法回避的。很抱歉给你带来了困惑。我对码头的了解正在增长,但仍然相当有限。