This module is part of the Apache Sling project.
This OSGi bundle implements Sling's servlet and script resolution services:
org.apache.sling.api.servlets.ServletResolverviaSlingServletResolverorg.apache.sling.api.scripting.SlingScriptResolverviaSlingScriptResolverImpl(deprecated API bridge)org.apache.sling.api.servlets.JakartaErrorHandlerfor error handling using Sling's resolution algorithm
See the servlets and scripts documentation for resolution behavior.
- Supports both
javax.servlet(4.x) andjakarta.servlet(6.1) APIs - Resolves scripts and servlets across resource-type hierarchies with selector/extension/method matching
- Mounts OSGi servlet services into the resource tree through dedicated resource providers
- Tracks bundled scripts contributed through OSGi capabilities (
sling.servlet) - Maintains servlet/script resolution caches with JMX inspection and cache management support
- Includes resolver diagnostics through a Felix Web Console plugin
- Supports optional servlet/script hiding via
IgnoredServletResourcePredicate - Provides a configurable bundled-script health check (
BundledScriptTrackerHC)
This module requires Java 17 and uses Maven.
- Build bundle (skip tests):
mvn clean package -DskipTests - Run unit tests:
mvn test - Run full verification (unit + integration tests):
mvn verify - Run integration tests only:
mvn verify -Dsurefire.skip=true - Run verification without integration tests:
mvn verify -DskipITs - Run SpotBugs check:
mvn spotbugs:check - Run a single unit test class:
mvn test -Dtest=ResourceCollectorTest - Run a single integration test class:
mvn verify -Dit.test=ServletSelectionIT
src/main/java/org/apache/sling/servlets/resolver/
api/
IgnoredServletResourcePredicate.java
jmx/
SlingServletResolverCacheMBean.java
internal/
SlingServletResolver.java
SlingScriptResolverImpl.java
ResolverConfig.java
helper/ (resource and location collectors)
resolution/ (resolver cache implementation)
resource/ (servlet mounting/resource providers)
bundle/ (bundled script tracking and servlet wrapper support)
defaults/ (default and error handler servlets)
console/ (Web Console diagnostics)
src/test/java/org/apache/sling/servlets/resolver/
internal/ (unit tests)
internal/resourcehiding/ (unit tests for hiding predicate behavior)
it/ (Pax Exam integration tests)
it/resourcehiding/ (integration tests for hidden servlet fallback behavior)
