这个Question让我想知道,因为我没有看到使用contextListener(据我所知运行一次)以DD或Annotations方式添加servlet。我希望了解一个常见的用例,它有助于以编程方式添加它们。
如果有一种方法可以在运行时以编程方式添加servlet(在应用程序运行期间)我可以想到一些情况,但似乎只能通过contextListener或
来完成来自ServletContainerInitializer的onStartup方法 实施
正如Servlet 3.0所述。
答案 0 :(得分:1)
在运行时添加servlet等的能力主要是为框架创建者设计的。
如果您创建一个框架,例如,使用普通的POJO Java对象,那么您需要在某些时候创建servlet - 它们必须为Web访问公开POJO类。因为您可以动态创建servlet,所以不需要POJO类的配置文件。尼斯!
通用框架可能还有可以动态“打开/关闭”的过滤器,例如可以使用可切换的过滤器来处理用户授权/身份验证。
在“普通”应用程序中,通常所有Servlet,过滤器都是预先知道的,因此几乎不需要编程。