17.6. 서블릿 확장 구성

서블릿 확장을 사용하면 서블릿 배포 프로세스에 후크하고 서블릿 배포 측면을 수정할 수 있습니다. 이는 배포에 인증 메커니즘을 추가하거나 서블릿 배포의 일부로 기본 Undertow 핸들러를 사용해야 하는 경우에 유용합니다.

사용자 지정 서블릿 확장을 생성하려면 배포에서 the io.undertow.servlet.ServletExtension 인터페이스를 구현한 다음 구현 클래스의 이름을 META-INF/services/io.undertow.servlet.ServletExtension 파일에 추가해야 합니다. 또한 ServletExtension 구현의 컴파일된 클래스 파일도 포함해야 합니다. Undertow가 서블릿을 배포할 때 deployments 클래스 로더에서 모든 서비스를 로드한 다음 handleDeployment 메서드를 호출합니다.

배포에 대한 완전하고 변경 가능한 설명이 포함된 Undertow DeploymentInfo 구조가 이 메서드로 전달됩니다. 이 구조를 수정하여 배포의 측면을 변경할 수 있습니다.

DeploymentInfo 구조는 포함된 API에서 사용하는 구조와 동일하므로 서블릿Extension 은 임베디드 모드에서 Undertow를 사용할 때 보유하는 것과 동일한 양의 유연성을 갖습니다.