gpt4 book ai didi

tomcat - 为所有 webapps 定制 webapp 类加载器

转载 作者:行者123 更新时间:2023-11-28 22:40:38 29 4
gpt4 key购买 nike

如何使用通用的 webappclassloader 为 tomcat 中的所有 webapps 自定义 webapp 类加载器?

我看到我可以扩展类加载器并将其添加到每个 web 应用程序的上下文标记中,有没有办法将它作为所有 web 应用程序的通用类加载器以及我应该将这个类加载器 .class 文件放在哪里?

谢谢

最佳答案

您可以将自定义类加载器放在 $CATALINA_HOME/lib 中。

要替换所有 webapps 的默认加载器,一个方便的解决方案是修改 $CATALINA_HOME/conf/context.xml

<?xml version='1.0' encoding='utf-8'?>
<Context>
<Loader className="test.loader.MyWebappLoader" /><!-- add this element -->
</Context>

这是一个示例代码:

package test.loader;
import org.apache.catalina.loader.WebappLoader;
public class MyWebappLoader extends WebappLoader {
public MyWebappLoader() {
System.err.println("!! create MyWebappLoader !!");
}
public MyWebappLoader(ClassLoader parent) {
super(parent);
System.err.println("!! create MyWebappLoader !!");
}
}

更多详细信息,您可以阅读Tomcat document - The Loader Component .它适用于 Tomcat 7~9。

关于tomcat - 为所有 webapps 定制 webapp 类加载器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40797797/

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