gpt4 book ai didi

java - 如何将 ServletContainerInitializer 添加到 Grizzly WebappContext?

转载 作者:行者123 更新时间:2023-12-02 11:14:01 26 4
gpt4 key购买 nike

我这样创建 Grizzly WebappContext:

WebappContext webContext = new WebappContext("WebappContext", "");

我有 MyInitializer 实现了 ServletContainerInitializer。如何将此初始化程序添加到 webContext 中?我尝试过这种方法:

webContext.addListener(new MyInitializer());

但是 MyInitializer.onStartup 方法永远不会被调用。怎么做?

最佳答案

ServletContainerInitializer 基于服务提供者接口(interface) (SPI) 概念。 ServletContainerInitializer 接口(interface)的实现必须在 META-INF/services/javax.servlet.ServletContainerInitializer 文件中配置。此 jar 包含一个监听器,该监听器必须位于 ServletContainer 的 WEB-INF/lib 中。

webContext.addListener 将满足您的需求,但给定的监听器必须是以下一个或多个接口(interface)的实例:

- javax.servlet.ServletContextAttributeListener
- javax.servlet.ServletRequestListener
- javax.servlet.ServletRequestAttributeListener
- javax.servlet.http.HttpSessionListener
- javax.servlet.http.HttpSessionAttributeListener

关于java - 如何将 ServletContainerInitializer 添加到 Grizzly WebappContext?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50416064/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com