17.6. 配置 Servlet 扩展
借助 Servlet 扩展,您可以 hook 到 servlet 部署过程并修改 servlet 部署的各个方面。如果您需要为部署添加额外的身份验证机制或使用原生 Undertow 处理程序作为 servlet 部署的一部分,这时非常有用。
要创建自定义 servlet 扩展,需要实施 the io.undertow.servlet.ServletExtension
接口,然后将您的实施类的名称添加到部署中的 META-INF/services/io.undertow.servlet.ServletExtension
文件中。您还需要包含 ServletExtension
实施编译的类文件。当 Undertow 部署 servlet 时,它将加载来自 部署
类加载器的所有服务,然后调用它们的 handleDeployment
方法。
将包含完整且可更改的部署描述的 Undertow DeploymentInfo
结构传递到此方法。您可以修改此结构来更改部署的任何方面。
DeploymentInfo
结构的结构与嵌入式 API 使用的相同,因此实际上 ServletExtension 具有
与您在嵌入式模式中使用 Undertow 时所具有的相同灵活性。