Jetty:在初始化之前从 war 加载服务器 bean

Jetty: load a server bean from war before initialization

我有一个正在从 Jetty 服务器加载的 Web 应用程序。

我想在 webapp 开始加载之前加载一个实现 MappedLoginService 的 bean(而不是从服务器)。

有什么办法吗?

我试图在 webapp post-construct 和 webapp 应用程序 class (javax.ws.rs.Application) 中加载 bean,但没有成功。

将初始化放在 WEB-INF/jetty-web.xml 文件中。

这将在 WebApp 初始化期间加载它,在 Servlet 层初始化开始之前。

我按照 Joakim 的回答创建了一个 WEB-INF/jetty-web.xml 文件并且成功了。我只想扩展答案,添加一个示例 jetty-web.xml,在启动 servlet 之前打印一些内容:

<?xml version="1.0"  encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">

<Configure id="context" class="org.eclipse.jetty.webapp.WebAppContext">
   <Get class="java.lang.System" name="out">
      <Call name="println">
         <Arg>Hello world!</Arg>
      </Call>
   </Get>
</Configure>

有关 jetty-web.xml 语法的更多信息 here