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를 사용할 때 보유하는 것과 동일한 양의 유연성을 갖습니다.