我已经开始使用嵌入式 Jetty Server 来启动一些 3rd-party WAR。所以我使用 WebAppContext:
Server server = new Server(port);
WebAppContext ctx = new WebAppContext();
ctx.setContextPath("/samplePath");
ctx.setWar(<PATH_TO_WAR>);
server.setHandler(ctx);
server.start();
server.join();
这段代码有效(为了简洁起见,我在这里省略了异常处理),但是现在我想在战争中添加一些我想保持不变的功能(我的意思是,不要提取更改并再次压缩)。我的功能应包括与一些自定义 SSO 解决方案的集成,该解决方案应添加以下内容:
- 上下文监听器
- 过滤器
- 这些过滤器和侦听器应读取的一些上下文参数变量定义
我无法更改此 SSO 解决方案,因为它不是我们团队开发的,我们宁愿将其视为第三方。
所以我认为将所有这些添加到带有 web-fragment 的模块将是最好的方法。
我的问题是:让 Jetty 的 web 上下文“意识到”这个 web 片段的最佳方法是什么?一个工作代码片段会很棒:)
当然,如果有比网络片段更好的选择,我会很高兴知道
我目前使用的 Jetty 版本是(来自我的 pom.xml):9.2.10.v20150310
提前非常感谢!