Big*_*Owl 9 java web-applications class servletconfig
我有一个使用插件架构的Java Web应用程序.我想知道是否有人有一个解决方案,其中一个可以添加一个servlet,在web应用程序运行时serlvet映射到servletconfig?这个想法是可以将类添加到/ WEB-INF/classes文件夹中,并在不重新启动Web应用程序的情况下将其作为servlet激活.同样的性质,如果用户选择删除"插件",则让代码从servletconfig中删除该类.
没有标准的Servlet API来实现这一目标.
您可以在Tomcat中执行此操作.在您的webapp中,您的主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);
Run Code Online (Sandbox Code Playgroud)
这些调用动态创建一个servlet.您需要找到持久保存此信息的方法.您可以通过更新web.xml或写入您自己的文件来完成此操作.