当我在不使用web.xml的情况下在BundleActivator中注册Servlet时,什么是`transport-guarantee`?

时间:2015-03-30 10:13:40

标签: java servlets jetty osgi wab

我在OSGI环境中运行Servlets,具体来说,我使用Karaf和Pax Web / Jetty。

我很高兴使用BundleActivator来实例化servlet并使用HttpService注册它们。我喜欢它的是它通过连接ServiceTracker为我提供了一种非常简单的方法来处理依赖注入。

但是,对于某些事情,我只能找到有关如何通过经典web.xml配置进行设置的文档。具体来说,我错过了transport-guarantee指令的等价物,我。即告诉HttpService,在某些URL上,它应该坚持使用HTTPS并在必要时重定向客户端。

或者,如果我像往常一样使用web.xml描述符文件,但仍然可以方便而简单地将servlet连接到我的OSGi服务,我会很好。

1 个答案:

答案 0 :(得分:0)

现在我说这是一个仅限web.xml的功能。可能想要打开新的功能请求。关于在Servlet中注入OSGi服务。如果您将应用程序与Pax CDI结合使用,则可以通过CDI方式注入OSGi服务。

@WebServlet(urlPatterns = "/myServlet")
public class MyServlet extends HttpServlet {

    @Inject
    @OsgiService
    private AnotherService service;

...