gpt4 book ai didi

java - 动态添加一个 servlet 到 servletConfig

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:21:07 24 4
gpt4 key购买 nike

我有一个使用插件架构的 Java 网络应用程序。我想知道是否有人有解决方案可以添加一个 servlet,并在 Web 应用程序运行时将 serlvet 映射到 servletconfig?这个想法是可以将一个类添加到/WEB-INF/classes 文件夹并作为 servlet 激活,而无需重新启动 Web 应用程序。同样,如果用户选择删除“插件”,则让代码从 servletconfig 中删除该类。

最佳答案

没有标准的 Servlet API 可以实现这一点。

您可以在 Tomcat 中执行此操作。在您的网络应用程序中,您的主 servlet(创建其他 servlet)必须实现 ContainerServlet 以便您可以获取 Wrapper 对象。安装类文件后,您可以进行以下调用,

Context context = (Context) wrapper.getParent();
Wrapper newWrapper = context.createWrapper();
newWrapper.setName(name);
newWrapper.setLoadOnStartup(1);
newWrapper.setServletClass(servletClass);
context.addChild(newWrapper);
context.addServletMapping(pattern, name);

这些调用会即时创建一个 servlet。您需要找到保存此信息的方法。您可以通过更新 web.xml 或写入您自己的文件来执行此操作。

关于java - 动态添加一个 servlet 到 servletConfig,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1884310/

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