有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java当我在BundleActivator中注册Servlet而不使用web时,“TransportGuarrance”的等价物是什么。xml?

我在OSGI环境中运行Servlets,特别是在Pax Web/Jetty中使用Karaf

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

然而,对于一些事情,我只能找到关于如何通过经典网络设置它们的文档。xml配置。具体地说,我错过了transport-guarantee指令的一个等价物,即告诉HttpService,在某些URL上,它应该坚持使用HTTPS,并在必要时重定向客户端的方法

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


共 (1) 个答案

  1. # 1 楼答案

    现在我想说这是一个网络。仅xml功能。可能需要打开一个新的功能请求。关于在servlet中注入OSGi服务。如果将应用程序与Pax CDI相结合,就可以通过CDI方式注入OSGi服务

    @WebServlet(urlPatterns = "/myServlet")
    public class MyServlet extends HttpServlet {
    
        @Inject
        @OsgiService
        private AnotherService service;
    
    ...