【问题标题】:Jetty: load a server bean from war before initializationJetty:在初始化之前从战争中加载服务器 bean
【发布时间】:2020-12-22 00:21:10
【问题描述】:

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

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

有什么办法吗?

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

【问题讨论】:

    标签: authentication web-applications jetty


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢!我用 jetty-web.xml 示例扩展了答案以运行一些代码。
    【解决方案2】:

    我按照 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的更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-16
      • 2017-06-13
      • 2021-12-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多