官方地址:http://undertow.io/documentation/servlet/servlet-extensions.html 留待学习中,mark一下
源码地址:https://github.com/undertow-io/undertow/tree/c3b8a88db6999c231b4def84437d8c32cf1e2efe
Servlet Extensions Servlet extensions allow you to hook into the Servlet deployment process, and modify aspect of a Servlet deployment. In some ways they are similar to ServletContainerInitializer or ServletContextListener, however they provides much more flexibility over what can be modified. In order to create a ServletExtension it is necessary to implement io.undertow.servlet.ServletExtension, and then add the name of your implementation class to META-INF/services/io.undertow.servlet.ServletExtension. When Undertow is deploying a Servlet deployment it will load all such services from the deployments class loader, and then invoke their handleDeployment method. This method is passed an Undertow DeploymentInfo structure, which contains a complete and mutable description of the deployment, my modifying this structure it is possible to change any aspect of the deployment. The DeploymentInfo structure is the same structure that is used by the embedded API, so in effect a ServletExtension has the same amount of flexibility that you have when using Undertow in embedded mode. There are many possible use cases for this, a common one would be to add additional authentication mechanisms to a deployment, or to use native Undertow handlers as part of a Servlet deployment.
本文介绍如何通过实现 io.undertow.servlet.ServletExtension 接口创建 Servlet 扩展,以便在部署过程中修改 Servlet 的行为。Servlet 扩展允许开发者自定义部署过程中的多个方面,包括但不限于增加认证机制或将原生 Undertow 处理器纳入到 Servlet 部署中。

2337

被折叠的 条评论
为什么被折叠?



