是否可以通过servlet-api替换ServletRegistration?
以下代码只能为给定的servlet名称注册新的Servlet,但是如果存在名称的servlet,它什么都不做。
ServletContext.addServlet( "servletName", ServletClass.class );
所以我正在寻找替换注册(同名的其他ServletClass)或删除名称的可能性。
答案 0 :(得分:0)
在servlet上下文初始化期间提供了添加servlet的工具。 鉴于it is impossible to add new servlets at runtime i.e. anytime after the Servlet Context is initialised,您应该在servlet上下文初始化期间添加正确的servlet集。
在servlet上下文初始化中添加一个带有名称的servlet然后将其替换为另一个servlet实际上没有意义。不是吗? 你看到它的用例吗?
@Balusc实际建议good alternative:
a single controller servlet in combination with command pattern is much better suited.
You could then add commands (actions) during runtime and intercept on it based on the request URI.