【发布时间】:2012-02-14 14:47:53
【问题描述】:
我在简单的应用程序中使用 jetty6 作为嵌入式 servlet 容器。我决定将其更新为 Jetty 8。 在 jetty 6 中,启动服务器非常简单:
Server server = new Server(8080);
Context context = new Context(server, "/", Context.SESSIONS);
context.addServlet(MyServlet.class, "/communication-service");
server.start();
但它在 Jetty8 中不起作用。 不幸的是,我找不到这个版本的任何简单示例。无法实例化 Context 错误
an enclosing instance that contains
org.eclipse.jetty.server.handler.ContextHandler.Context is required
因为现在它是一个内部类,也没有这样的构造函数。
大多数示例都是针对 6 号和 7 号码头的。 您能否提供一个简单的示例,如何在 jetty 8 启动 servlet?
【问题讨论】:
-
您的问题缺乏细节。什么不起作用?哪条线路导致问题?尝试运行时是否有堆栈跟踪?
-
我在一些 Jetty 6 代码中遇到了同样的问题。我有两个将服务器作为参数的
Contexts。在 Jetty 8 中,模式似乎是相反的,因为您在服务器中有一个setHandler方法(对于单个处理程序)。但似乎没有任何文档涉及如何迁移具有多个附加到同一服务器的上下文的代码。这是您打算使用上下文处理程序集合的情况吗? -
啊,搞定了。下面蒂姆的回答就是我所需要的,每个 servlet 都有多个
handler.addServlet调用。