在OSGi世界中,您可以使用以下命令注册Servlet
HttpService.registerServlet(String alias, Servlet servlet, Dictionary initParams, HttpContext context);因此,对于带有SymbolicName foo.bar的捆绑包,我可以这样做
HttpService.registerServlet("/foo", new FooServlet(), null, null);我想扩展这个registerServlet方法,以确保alias以包的SymbolicName开头,即"/foo.bar“。我需要这样做,以便根据包的SymbolicName在包之间提供URL名称空间隔离,这样它们就不会意外地以相同的别名注册servlet。
除了修改HttpService的实现之外,实现这一目标的最佳方法是什么?有没有可以添加验证逻辑的服务扩展钩子?我可以以某种方式扩展HttpService并覆盖registerServlet方法并隐藏现有方法吗?
我在桥接模式下使用Apache Felix。
发布于 2013-12-25 01:47:47
注册servlet时,将调用Servlet.init。也许你可以在那里做些检查?
https://stackoverflow.com/questions/20646274
复制相似问题