diff --git a/documentation/jetty-documentation/src/main/java/org/eclipse/jetty/docs/programming/server/session/SessionDocs.java b/documentation/jetty-documentation/src/main/java/org/eclipse/jetty/docs/programming/server/session/SessionDocs.java
index 69dbaf253da..0e4b730757c 100644
--- a/documentation/jetty-documentation/src/main/java/org/eclipse/jetty/docs/programming/server/session/SessionDocs.java
+++ b/documentation/jetty-documentation/src/main/java/org/eclipse/jetty/docs/programming/server/session/SessionDocs.java
@@ -78,7 +78,7 @@ public class SessionDocs
//tag:schsession[]
Server server = new Server();
- ServletContextHandler context = new ServletContextHandler(server, "/foo", ServletContextHandler.SESSIONS);
+ ServletContextHandler context = new ServletContextHandler("/foo", ServletContextHandler.SESSIONS);
SessionHandler sessions = context.getSessionHandler();
//make idle sessions valid for only 5mins
sessions.setMaxInactiveInterval(300);
diff --git a/documentation/jetty-documentation/src/main/java/org/eclipse/jetty/docs/programming/server/websocket/WebSocketServerDocs.java b/documentation/jetty-documentation/src/main/java/org/eclipse/jetty/docs/programming/server/websocket/WebSocketServerDocs.java
index 575060f850b..8a3ad718107 100644
--- a/documentation/jetty-documentation/src/main/java/org/eclipse/jetty/docs/programming/server/websocket/WebSocketServerDocs.java
+++ b/documentation/jetty-documentation/src/main/java/org/eclipse/jetty/docs/programming/server/websocket/WebSocketServerDocs.java
@@ -63,7 +63,7 @@ public class WebSocketServerDocs
Server server = new Server(8080);
// Create a ServletContextHandler with the given context path.
- ServletContextHandler handler = new ServletContextHandler(server, "/ctx");
+ ServletContextHandler handler = new ServletContextHandler("/ctx");
server.setHandler(handler);
// Ensure that JavaxWebSocketServletContainerInitializer is initialized,
@@ -82,7 +82,7 @@ public class WebSocketServerDocs
Server server = new Server(8080);
// Create a ServletContextHandler with the given context path.
- ServletContextHandler handler = new ServletContextHandler(server, "/ctx");
+ ServletContextHandler handler = new ServletContextHandler("/ctx");
server.setHandler(handler);
// Ensure that JavaxWebSocketServletContainerInitializer is initialized,
@@ -137,7 +137,7 @@ public class WebSocketServerDocs
Server server = new Server(8080);
// Create a ServletContextHandler with the given context path.
- ServletContextHandler handler = new ServletContextHandler(server, "/ctx");
+ ServletContextHandler handler = new ServletContextHandler("/ctx");
server.setHandler(handler);
// Setup the ServerContainer and the WebSocket endpoints for this web application context.
@@ -169,7 +169,7 @@ public class WebSocketServerDocs
Server server = new Server(8080);
// Create a ServletContextHandler with the given context path.
- ServletContextHandler handler = new ServletContextHandler(server, "/ctx");
+ ServletContextHandler handler = new ServletContextHandler("/ctx");
server.setHandler(handler);
// Ensure that JettyWebSocketServletContainerInitializer is initialized,
@@ -188,7 +188,7 @@ public class WebSocketServerDocs
Server server = new Server(8080);
// Create a ServletContextHandler with the given context path.
- ServletContextHandler handler = new ServletContextHandler(server, "/ctx");
+ ServletContextHandler handler = new ServletContextHandler("/ctx");
server.setHandler(handler);
// Ensure that JettyWebSocketServletContainerInitializer is initialized,
@@ -234,7 +234,7 @@ public class WebSocketServerDocs
Server server = new Server(8080);
// Create a ServletContextHandler with the given context path.
- ServletContextHandler handler = new ServletContextHandler(server, "/ctx");
+ ServletContextHandler handler = new ServletContextHandler("/ctx");
server.setHandler(handler);
// Setup the JettyWebSocketServerContainer and the WebSocket endpoints for this web application context.
@@ -301,7 +301,7 @@ public class WebSocketServerDocs
Server server = new Server(8080);
// Create a ServletContextHandler with the given context path.
- ServletContextHandler handler = new ServletContextHandler(server, "/ctx");
+ ServletContextHandler handler = new ServletContextHandler("/ctx");
server.setHandler(handler);
// Setup the JettyWebSocketServerContainer to initialize WebSocket components.
@@ -357,7 +357,8 @@ public class WebSocketServerDocs
Server server = new Server(8080);
// tag::uriTemplatePathSpec[]
- ServletContextHandler handler = new ServletContextHandler(server, "/ctx");
+ ServletContextHandler handler = new ServletContextHandler("/ctx");
+ server.setHandler(handler);
// Configure the JettyWebSocketServerContainer.
JettyWebSocketServletContainerInitializer.configure(handler, (servletContext, container) ->
diff --git a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/Handler.java b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/Handler.java
index 0b528f65404..280d2a25820 100644
--- a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/Handler.java
+++ b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/Handler.java
@@ -216,21 +216,6 @@ public interface Handler extends LifeCycle, Destroyable, Request.Handler
}
return null;
}
-
- /**
- *
Make a {@link Container} the parent of a {@link Handler}
- * @param parent The {@link Container} that will be the parent
- * @param handler The {@link Handler} that will be the child
- */
- static void setAsParent(Container parent, Handler handler)
- {
- if (parent instanceof Collection collection)
- collection.addHandler(handler);
- else if (parent instanceof Singleton wrapper)
- wrapper.setHandler(handler);
- else if (parent != null)
- throw new IllegalArgumentException("Unknown parent type: " + parent);
- }
}
/**
diff --git a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java
index 26c9ef7ab81..1d47f5e6232 100644
--- a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java
+++ b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java
@@ -180,14 +180,6 @@ public class ContextHandler extends Handler.Wrapper implements Attributes, Alias
_classLoader = classLoader;
}
- @Deprecated
- public ContextHandler(Handler.Container parent, String contextPath)
- {
- this(contextPath);
- Container.setAsParent(parent, this);
-
- }
-
@Override
public void setServer(Server server)
{
diff --git a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/handler/MovedContextHandler.java b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/handler/MovedContextHandler.java
index 5d35b42ed22..931f713136c 100644
--- a/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/handler/MovedContextHandler.java
+++ b/jetty-core/jetty-server/src/main/java/org/eclipse/jetty/server/handler/MovedContextHandler.java
@@ -18,7 +18,6 @@ import org.eclipse.jetty.http.HttpHeader;
import org.eclipse.jetty.http.HttpStatus;
import org.eclipse.jetty.http.HttpURI;
import org.eclipse.jetty.http.PreEncodedHttpField;
-import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.Response;
import org.eclipse.jetty.util.Callback;
@@ -42,13 +41,6 @@ public class MovedContextHandler extends ContextHandler
setAllowNullPathInContext(true);
}
- public MovedContextHandler(Handler.Container parent, String contextPath, String redirectURI)
- {
- Handler.Container.setAsParent(parent, this);
- setContextPath(contextPath);
- setRedirectURI(redirectURI);
- }
-
/**
* @return the redirect status code, by default 303
*/
diff --git a/jetty-core/jetty-server/src/test/java/org/eclipse/jetty/server/StopTest.java b/jetty-core/jetty-server/src/test/java/org/eclipse/jetty/server/StopTest.java
index 02634dc9488..8406d6f1a72 100644
--- a/jetty-core/jetty-server/src/test/java/org/eclipse/jetty/server/StopTest.java
+++ b/jetty-core/jetty-server/src/test/java/org/eclipse/jetty/server/StopTest.java
@@ -44,6 +44,7 @@ import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import static org.awaitility.Awaitility.await;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.containsString;
import static org.hamcrest.Matchers.endsWith;
@@ -92,7 +93,7 @@ public class StopTest
}
catch (Exception e)
{
- e.printStackTrace();
+ throw new RuntimeException(e);
}
});
stopper.start();
@@ -107,10 +108,7 @@ public class StopTest
).getBytes());
client.getOutputStream().flush();
- while (!connector.isShutdown())
- {
- Thread.sleep(10);
- }
+ await().atMost(10, TimeUnit.SECONDS).until(connector::isShutdown);
handler.latchB.countDown();
@@ -280,11 +278,9 @@ public class StopTest
LocalConnector connector = new LocalConnector(server);
server.addConnector(connector);
- StatisticsHandler stats = new StatisticsHandler();
- server.setHandler(stats);
-
ContextHandler context = new ContextHandler("/");
- stats.setHandler(context);
+ StatisticsHandler stats = new StatisticsHandler(context);
+ server.setHandler(stats);
Exchanger exchanger0 = new Exchanger<>();
Exchanger exchanger1 = new Exchanger<>();
@@ -314,53 +310,51 @@ public class StopTest
server.setStopTimeout(1000);
server.start();
- LocalEndPoint endp = connector.executeRequest(
- "GET / HTTP/1.1\r\n" +
- "Host: localhost\r\n" +
- "\r\n"
- );
-
- exchanger0.exchange(null);
- exchanger1.exchange(null);
-
- String response = endp.getResponse();
- assertThat(response, containsString("200 OK"));
- assertThat(response, Matchers.not(containsString("Connection: close")));
-
- endp.addInputAndExecute(BufferUtil.toBuffer("GET / HTTP/1.1\r\nHost:localhost\r\n\r\n"));
-
- exchanger0.exchange(null);
-
- FutureCallback stopped = new FutureCallback();
- new Thread(() ->
+ try (LocalEndPoint endp = connector.executeRequest(
+ """
+ GET / HTTP/1.1\r
+ Host: localhost\r
+ \r
+ """
+ ))
{
- try
- {
- server.stop();
- stopped.succeeded();
- }
- catch (Throwable e)
- {
- stopped.failed(e);
- }
- }).start();
+ exchanger0.exchange(null);
+ exchanger1.exchange(null);
- long start = NanoTime.now();
- while (!connector.isShutdown())
- {
- assertThat(NanoTime.secondsSince(start), lessThan(10L));
- Thread.sleep(10);
+ String response = endp.getResponse();
+ assertThat(response, containsString("200 OK"));
+ assertThat(response, Matchers.not(containsString("Connection: close")));
+
+ endp.addInputAndExecute(BufferUtil.toBuffer("GET / HTTP/1.1\r\nHost:localhost\r\n\r\n"));
+
+ exchanger0.exchange(null);
+
+ FutureCallback stopped = new FutureCallback();
+ new Thread(() ->
+ {
+ try
+ {
+ server.stop();
+ stopped.succeeded();
+ }
+ catch (Throwable e)
+ {
+ stopped.failed(e);
+ }
+ }).start();
+
+ await().atMost(10, TimeUnit.SECONDS).until(connector::isShutdown);
+
+ // Check new connections rejected!
+ assertThrows(IllegalStateException.class, () -> connector.getResponse("GET / HTTP/1.1\r\nHost:localhost\r\n\r\n"));
+
+ // Check completed 200 has close
+ exchanger1.exchange(null);
+ response = endp.getResponse();
+ assertThat(response, containsString("200 OK"));
+ assertThat(response, Matchers.containsString("Connection: close"));
+ stopped.get(10, TimeUnit.SECONDS);
}
-
- // Check new connections rejected!
- assertThrows(IllegalStateException.class, () -> connector.getResponse("GET / HTTP/1.1\r\nHost:localhost\r\n\r\n"));
-
- // Check completed 200 has close
- exchanger1.exchange(null);
- response = endp.getResponse();
- assertThat(response, containsString("200 OK"));
- assertThat(response, Matchers.containsString("Connection: close"));
- stopped.get(10, TimeUnit.SECONDS);
}
@Test
@@ -373,7 +367,6 @@ public class StopTest
ContextHandler context = new ContextHandler("/");
server.setHandler(context);
-
StatisticsHandler stats = new StatisticsHandler();
context.setHandler(stats);
@@ -402,50 +395,51 @@ public class StopTest
server.start();
- LocalEndPoint endp = connector.executeRequest(
- "GET / HTTP/1.1\r\n" +
- "Host: localhost\r\n" +
- "\r\n"
- );
-
- exchanger0.exchange(null);
- exchanger1.exchange(null);
-
- String response = endp.getResponse();
- assertThat(response, containsString("200 OK"));
- assertThat(response, Matchers.not(containsString("Connection: close")));
-
- endp.addInputAndExecute(BufferUtil.toBuffer("GET / HTTP/1.1\r\nHost:localhost\r\n\r\n"));
- exchanger0.exchange(null);
-
- CountDownLatch latch = new CountDownLatch(1);
- new Thread(() ->
+ try (LocalEndPoint endp = connector.executeRequest(
+ """
+ GET / HTTP/1.1\r
+ Host: localhost\r
+ \r
+ """
+ ))
{
- try
+ exchanger0.exchange(null);
+ exchanger1.exchange(null);
+
+ String response = endp.getResponse();
+ assertThat(response, containsString("200 OK"));
+ assertThat(response, Matchers.not(containsString("Connection: close")));
+
+ endp.addInputAndExecute(BufferUtil.toBuffer("GET / HTTP/1.1\r\nHost:localhost\r\n\r\n"));
+ exchanger0.exchange(null);
+
+ CountDownLatch latch = new CountDownLatch(1);
+ new Thread(() ->
{
- context.stop();
- latch.countDown();
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- }).start();
- while (context.isStarted())
- {
- Thread.sleep(10);
+ try
+ {
+ context.stop();
+ latch.countDown();
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ }).start();
+
+ await().atMost(10, TimeUnit.SECONDS).until(context::isStopped);
+
+ // Check new connections accepted, but don't find context!
+ String unavailable = connector.getResponse("GET / HTTP/1.1\r\nHost:localhost\r\n\r\n");
+ assertThat(unavailable, containsString(" 404 Not Found"));
+
+ // Check completed 200 does not have close
+ exchanger1.exchange(null);
+ response = endp.getResponse();
+ assertThat(response, containsString("200 OK"));
+ assertThat(response, Matchers.not(Matchers.containsString("Connection: close")));
+ assertTrue(latch.await(10, TimeUnit.SECONDS));
}
-
- // Check new connections accepted, but don't find context!
- String unavailable = connector.getResponse("GET / HTTP/1.1\r\nHost:localhost\r\n\r\n");
- assertThat(unavailable, containsString(" 404 Not Found"));
-
- // Check completed 200 does not have close
- exchanger1.exchange(null);
- response = endp.getResponse();
- assertThat(response, containsString("200 OK"));
- assertThat(response, Matchers.not(Matchers.containsString("Connection: close")));
- assertTrue(latch.await(10, TimeUnit.SECONDS));
}
@Test
@@ -479,12 +473,12 @@ public class StopTest
ContextHandler context2 = new ContextHandler("/two")
{
@Override
- protected void doStart() throws Exception
+ protected void doStart()
{
context2Started.set(true);
}
};
- contexts.setHandlers(new Handler[]{context0, context1, context2});
+ contexts.setHandlers(context0, context1, context2);
try
{
diff --git a/jetty-ee10/jetty-ee10-apache-jsp/src/test/java/org/eclipse/jetty/ee10/jsp/TestJettyJspServlet.java b/jetty-ee10/jetty-ee10-apache-jsp/src/test/java/org/eclipse/jetty/ee10/jsp/TestJettyJspServlet.java
index 4d324c8ca58..95660e24a89 100644
--- a/jetty-ee10/jetty-ee10-apache-jsp/src/test/java/org/eclipse/jetty/ee10/jsp/TestJettyJspServlet.java
+++ b/jetty-ee10/jetty-ee10-apache-jsp/src/test/java/org/eclipse/jetty/ee10/jsp/TestJettyJspServlet.java
@@ -69,7 +69,7 @@ public class TestJettyJspServlet
_server = new Server();
_connector = new LocalConnector(_server);
_server.addConnector(_connector);
- ServletContextHandler context = new ServletContextHandler(_server, "/context", true, false);
+ ServletContextHandler context = new ServletContextHandler("/context", true, false);
_server.setHandler(context);
context.setClassLoader(new URLClassLoader(new URL[0], Thread.currentThread().getContextClassLoader()));
ServletHolder jspHolder = context.addServlet(JettyJspServlet.class, "/*");
diff --git a/jetty-ee10/jetty-ee10-demos/jetty-ee10-demo-embedded/src/main/java/org/eclipse/jetty/ee10/demos/Http2Server.java b/jetty-ee10/jetty-ee10-demos/jetty-ee10-demo-embedded/src/main/java/org/eclipse/jetty/ee10/demos/Http2Server.java
index 453a4c74d02..830aea62458 100644
--- a/jetty-ee10/jetty-ee10-demos/jetty-ee10-demo-embedded/src/main/java/org/eclipse/jetty/ee10/demos/Http2Server.java
+++ b/jetty-ee10/jetty-ee10-demos/jetty-ee10-demo-embedded/src/main/java/org/eclipse/jetty/ee10/demos/Http2Server.java
@@ -70,7 +70,7 @@ public class Http2Server
server.addBean(LoggerFactory.getILoggerFactory());
- ServletContextHandler context = new ServletContextHandler(server, "/", ServletContextHandler.SESSIONS);
+ ServletContextHandler context = new ServletContextHandler("/", ServletContextHandler.SESSIONS);
Path docroot = Paths.get("src/main/resources/docroot");
if (!Files.exists(docroot))
throw new FileNotFoundException(docroot.toString());
diff --git a/jetty-ee10/jetty-ee10-demos/jetty-ee10-demo-embedded/src/main/java/org/eclipse/jetty/ee10/demos/ManyServletContexts.java b/jetty-ee10/jetty-ee10-demos/jetty-ee10-demo-embedded/src/main/java/org/eclipse/jetty/ee10/demos/ManyServletContexts.java
index 270f9a78a9b..cb294e69f8b 100644
--- a/jetty-ee10/jetty-ee10-demos/jetty-ee10-demo-embedded/src/main/java/org/eclipse/jetty/ee10/demos/ManyServletContexts.java
+++ b/jetty-ee10/jetty-ee10-demos/jetty-ee10-demo-embedded/src/main/java/org/eclipse/jetty/ee10/demos/ManyServletContexts.java
@@ -38,16 +38,17 @@ public class ManyServletContexts
server.setHandler(contexts);
// Configure context "/" (root) for servlets
- ServletContextHandler root = new ServletContextHandler(contexts, "/",
+ ServletContextHandler root = new ServletContextHandler("/",
ServletContextHandler.SESSIONS);
+ contexts.addHandler(root);
// Add servlets to root context
root.addServlet(new ServletHolder(new HelloServlet("Hello")), "/");
root.addServlet(new ServletHolder(new HelloServlet("Ciao")), "/it/*");
root.addServlet(new ServletHolder(new HelloServlet("Bonjour")), "/fr/*");
// Configure context "/other" for servlets
- ServletContextHandler other = new ServletContextHandler(contexts,
- "/other", ServletContextHandler.SESSIONS);
+ ServletContextHandler other = new ServletContextHandler("/other", ServletContextHandler.SESSIONS);
+ contexts.addHandler(other);
// Add servlets to /other context
other.addServlet(DefaultServlet.class.getCanonicalName(), "/");
other.addServlet(new ServletHolder(new HelloServlet("YO!")), "*.yo");
diff --git a/jetty-ee10/jetty-ee10-demos/jetty-ee10-demo-embedded/src/main/java/org/eclipse/jetty/ee10/demos/ProxyServer.java b/jetty-ee10/jetty-ee10-demos/jetty-ee10-demo-embedded/src/main/java/org/eclipse/jetty/ee10/demos/ProxyServer.java
index f8fabe3b98b..8a10e650dc7 100644
--- a/jetty-ee10/jetty-ee10-demos/jetty-ee10-demo-embedded/src/main/java/org/eclipse/jetty/ee10/demos/ProxyServer.java
+++ b/jetty-ee10/jetty-ee10-demos/jetty-ee10-demo-embedded/src/main/java/org/eclipse/jetty/ee10/demos/ProxyServer.java
@@ -36,8 +36,9 @@ public class ProxyServer
server.setHandler(proxy);
// Setup proxy servlet
- ServletContextHandler context = new ServletContextHandler(proxy, "/",
+ ServletContextHandler context = new ServletContextHandler("/",
ServletContextHandler.SESSIONS);
+ proxy.setHandler(context);
ServletHolder proxyServlet = new ServletHolder(ProxyServlet.class);
proxyServlet.setInitParameter("blackList", "www.eclipse.org");
context.addServlet(proxyServlet, "/*");
diff --git a/jetty-ee10/jetty-ee10-demos/jetty-ee10-demo-jetty-webapp/src/test/java/org/eclipse/jetty/ee10/ChatServletTest.java b/jetty-ee10/jetty-ee10-demos/jetty-ee10-demo-jetty-webapp/src/test/java/org/eclipse/jetty/ee10/ChatServletTest.java
index 343c1741191..2fdf01e15f9 100644
--- a/jetty-ee10/jetty-ee10-demos/jetty-ee10-demo-jetty-webapp/src/test/java/org/eclipse/jetty/ee10/ChatServletTest.java
+++ b/jetty-ee10/jetty-ee10-demos/jetty-ee10-demo-jetty-webapp/src/test/java/org/eclipse/jetty/ee10/ChatServletTest.java
@@ -36,7 +36,8 @@ public class ChatServletTest
server = new Server();
connector = new LocalConnector(server);
server.addConnector(connector);
- ServletContextHandler context = new ServletContextHandler(server, "/");
+ ServletContextHandler context = new ServletContextHandler("/");
+ server.setHandler(context);
ServletHolder dispatch = context.addServlet(ChatServlet.class, "/chat/*");
dispatch.setInitParameter("asyncTimeout", "500");
server.start();
diff --git a/jetty-ee10/jetty-ee10-demos/jetty-ee10-demo-jetty-webapp/src/test/java/org/eclipse/jetty/ee10/DispatchServletTest.java b/jetty-ee10/jetty-ee10-demos/jetty-ee10-demo-jetty-webapp/src/test/java/org/eclipse/jetty/ee10/DispatchServletTest.java
index 689b476597f..0e77fc6c88b 100644
--- a/jetty-ee10/jetty-ee10-demos/jetty-ee10-demo-jetty-webapp/src/test/java/org/eclipse/jetty/ee10/DispatchServletTest.java
+++ b/jetty-ee10/jetty-ee10-demos/jetty-ee10-demo-jetty-webapp/src/test/java/org/eclipse/jetty/ee10/DispatchServletTest.java
@@ -44,7 +44,8 @@ public class DispatchServletTest
server = new Server();
connector = new LocalConnector(server);
server.addConnector(connector);
- context = new ServletContextHandler(server, "/tests");
+ context = new ServletContextHandler("/tests");
+ server.setHandler(context);
server.start();
}
diff --git a/jetty-ee10/jetty-ee10-fcgi-proxy/src/test/java/org/eclipse/jetty/ee10/fcgi/proxy/TryFilesFilterTest.java b/jetty-ee10/jetty-ee10-fcgi-proxy/src/test/java/org/eclipse/jetty/ee10/fcgi/proxy/TryFilesFilterTest.java
index 5f01c7e3d62..eb21f34cdb4 100644
--- a/jetty-ee10/jetty-ee10-fcgi-proxy/src/test/java/org/eclipse/jetty/ee10/fcgi/proxy/TryFilesFilterTest.java
+++ b/jetty-ee10/jetty-ee10-fcgi-proxy/src/test/java/org/eclipse/jetty/ee10/fcgi/proxy/TryFilesFilterTest.java
@@ -55,7 +55,8 @@ public class TryFilesFilterTest
sslConnector = new ServerConnector(server, serverSslContextFactory);
server.addConnector(sslConnector);
- ServletContextHandler context = new ServletContextHandler(server, "/");
+ ServletContextHandler context = new ServletContextHandler("/");
+ server.setHandler(context);
FilterHolder filterHolder = context.addFilter(TryFilesFilter.class, "/*", EnumSet.of(DispatcherType.REQUEST));
forwardPath = "/index.php";
diff --git a/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/AsyncMiddleManServletTest.java b/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/AsyncMiddleManServletTest.java
index 26e321fe73e..04aaa7f735d 100644
--- a/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/AsyncMiddleManServletTest.java
+++ b/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/AsyncMiddleManServletTest.java
@@ -109,7 +109,8 @@ public class AsyncMiddleManServletTest
serverConnector = new ServerConnector(server);
server.addConnector(serverConnector);
- ServletContextHandler appCtx = new ServletContextHandler(server, "/", true, false);
+ ServletContextHandler appCtx = new ServletContextHandler("/", true, false);
+ server.setHandler(appCtx);
ServletHolder appServletHolder = new ServletHolder(servlet);
appCtx.addServlet(appServletHolder, "/*");
@@ -136,7 +137,8 @@ public class AsyncMiddleManServletTest
proxyConnector = new ServerConnector(proxy, new HttpConnectionFactory(configuration));
proxy.addConnector(proxyConnector);
- ServletContextHandler proxyContext = new ServletContextHandler(proxy, "/", true, false);
+ ServletContextHandler proxyContext = new ServletContextHandler("/", true, false);
+ proxy.setHandler(proxyContext);
this.proxyServlet = proxyServlet;
ServletHolder proxyServletHolder = new ServletHolder(proxyServlet);
proxyServletHolder.setInitParameters(initParams);
diff --git a/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/BalancerServletTest.java b/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/BalancerServletTest.java
index a84a46a09fb..d55f6e087be 100644
--- a/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/BalancerServletTest.java
+++ b/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/BalancerServletTest.java
@@ -93,7 +93,8 @@ public class BalancerServletTest
ServerConnector connector = new ServerConnector(server);
server.addConnector(connector);
- ServletContextHandler context = new ServletContextHandler(server, CONTEXT_PATH, ServletContextHandler.SESSIONS);
+ ServletContextHandler context = new ServletContextHandler(CONTEXT_PATH, ServletContextHandler.SESSIONS);
+ server.setHandler(context);
context.addServlet(servletHolder, SERVLET_PATH + "/*");
if (nodeName != null)
diff --git a/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/ClientAuthProxyTest.java b/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/ClientAuthProxyTest.java
index 01d711e6796..21e6b2c74d5 100644
--- a/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/ClientAuthProxyTest.java
+++ b/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/ClientAuthProxyTest.java
@@ -177,7 +177,7 @@ public class ClientAuthProxyTest
proxyConnector = new ServerConnector(proxy, 1, 1, ssl, http);
proxy.addConnector(proxyConnector);
- ServletContextHandler context = new ServletContextHandler(proxy, "/");
+ ServletContextHandler context = new ServletContextHandler("/");
context.addServlet(new ServletHolder(servlet), "/*");
proxy.setHandler(context);
diff --git a/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/ForwardProxyServerTest.java b/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/ForwardProxyServerTest.java
index de52033dc23..ce2600e3c1b 100644
--- a/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/ForwardProxyServerTest.java
+++ b/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/ForwardProxyServerTest.java
@@ -109,7 +109,8 @@ public class ForwardProxyServerTest
connectHandler.setConnectTimeout(1000);
proxy.setHandler(connectHandler);
- ServletContextHandler proxyHandler = new ServletContextHandler(connectHandler, "/");
+ ServletContextHandler proxyHandler = new ServletContextHandler("/");
+ connectHandler.setHandler(proxyHandler);
proxyHandler.addServlet(new ServletHolder(proxyServlet), "/*");
proxy.start();
diff --git a/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/ProxyServer.java b/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/ProxyServer.java
index 0020839fa32..cf82c427fc0 100644
--- a/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/ProxyServer.java
+++ b/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/ProxyServer.java
@@ -35,7 +35,8 @@ public class ProxyServer
server.setHandler(proxy);
// Setup proxy servlet
- ServletContextHandler context = new ServletContextHandler(proxy, "/", ServletContextHandler.SESSIONS);
+ ServletContextHandler context = new ServletContextHandler("/", ServletContextHandler.SESSIONS);
+ proxy.setHandler(context);
ServletHolder proxyServlet = new ServletHolder(ProxyServlet.class);
// proxyServlet.setInitParameter("whiteList", "google.com, www.eclipse.org, localhost");
// proxyServlet.setInitParameter("blackList", "google.com/calendar/*, www.eclipse.org/committers/");
diff --git a/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/ProxyServletFailureTest.java b/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/ProxyServletFailureTest.java
index 53b4a758627..a13a2cec020 100644
--- a/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/ProxyServletFailureTest.java
+++ b/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/ProxyServletFailureTest.java
@@ -99,7 +99,8 @@ public class ProxyServletFailureTest
proxy.addConnector(proxyConnector);
proxyConnector.getConnectionFactory(HttpConnectionFactory.class).getHttpConfiguration().setDelayDispatchUntilContent(false);
- ServletContextHandler proxyCtx = new ServletContextHandler(proxy, "/", true, false);
+ ServletContextHandler proxyCtx = new ServletContextHandler("/", true, false);
+ proxy.setHandler(proxyCtx);
ServletHolder proxyServletHolder = new ServletHolder(proxyServlet);
proxyServletHolder.setInitParameters(initParams);
@@ -129,7 +130,8 @@ public class ProxyServletFailureTest
serverConnector = new ServerConnector(server);
server.addConnector(serverConnector);
- ServletContextHandler appCtx = new ServletContextHandler(server, "/", true, false);
+ ServletContextHandler appCtx = new ServletContextHandler("/", true, false);
+ server.setHandler(appCtx);
ServletHolder appServletHolder = new ServletHolder(servlet);
appCtx.addServlet(appServletHolder, "/*");
diff --git a/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/ProxyServletLoadTest.java b/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/ProxyServletLoadTest.java
index 8feaeabb8de..e1c38b39e94 100644
--- a/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/ProxyServletLoadTest.java
+++ b/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/ProxyServletLoadTest.java
@@ -77,7 +77,8 @@ public class ProxyServletLoadTest
serverConnector = new ServerConnector(server);
server.addConnector(serverConnector);
- ServletContextHandler appCtx = new ServletContextHandler(server, "/", true, false);
+ ServletContextHandler appCtx = new ServletContextHandler("/", true, false);
+ server.setHandler(appCtx);
ServletHolder appServletHolder = new ServletHolder(servlet);
appCtx.addServlet(appServletHolder, "/*");
@@ -96,7 +97,8 @@ public class ProxyServletLoadTest
proxyConnector = new ServerConnector(proxy, new HttpConnectionFactory(configuration));
proxy.addConnector(proxyConnector);
- ServletContextHandler proxyContext = new ServletContextHandler(proxy, "/", true, false);
+ ServletContextHandler proxyContext = new ServletContextHandler("/", true, false);
+ proxy.setHandler(proxyContext);
ServletHolder proxyServletHolder = new ServletHolder(proxyServlet);
proxyContext.addServlet(proxyServletHolder, "/*");
diff --git a/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/ProxyServletTest.java b/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/ProxyServletTest.java
index 748ab57a578..ccd90c8a275 100644
--- a/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/ProxyServletTest.java
+++ b/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/ProxyServletTest.java
@@ -152,7 +152,8 @@ public class ProxyServletTest
new HttpConnectionFactory());
server.addConnector(tlsServerConnector);
- ServletContextHandler appCtx = new ServletContextHandler(server, "/", true, false);
+ ServletContextHandler appCtx = new ServletContextHandler("/", true, false);
+ server.setHandler(appCtx);
ServletHolder appServletHolder = new ServletHolder(servlet);
appCtx.addServlet(appServletHolder, "/*");
@@ -184,7 +185,8 @@ public class ProxyServletTest
proxyConnector = new ServerConnector(proxy, new HttpConnectionFactory(configuration));
proxy.addConnector(proxyConnector);
- proxyContext = new ServletContextHandler(proxy, "/", true, false);
+ proxyContext = new ServletContextHandler("/", true, false);
+ proxy.setHandler(proxyContext);
this.proxyServlet = proxyServlet;
ServletHolder proxyServletHolder = new ServletHolder(proxyServlet);
proxyServletHolder.setInitParameters(initParams);
diff --git a/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/ReverseProxyTest.java b/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/ReverseProxyTest.java
index 1c1bf0a4825..a3239975ea5 100644
--- a/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/ReverseProxyTest.java
+++ b/jetty-ee10/jetty-ee10-proxy/src/test/java/org/eclipse/jetty/ee10/proxy/ReverseProxyTest.java
@@ -49,7 +49,8 @@ public class ReverseProxyTest
serverConnector = new ServerConnector(server);
server.addConnector(serverConnector);
- ServletContextHandler appCtx = new ServletContextHandler(server, "/", true, false);
+ ServletContextHandler appCtx = new ServletContextHandler("/", true, false);
+ server.setHandler(appCtx);
ServletHolder appServletHolder = new ServletHolder(servlet);
appCtx.addServlet(appServletHolder, "/*");
@@ -66,7 +67,8 @@ public class ReverseProxyTest
proxyConnector = new ServerConnector(proxy, new HttpConnectionFactory(configuration));
proxy.addConnector(proxyConnector);
- ServletContextHandler proxyContext = new ServletContextHandler(proxy, "/", true, false);
+ ServletContextHandler proxyContext = new ServletContextHandler("/", true, false);
+ proxy.setHandler(proxyContext);
ServletHolder proxyServletHolder = new ServletHolder(new AsyncMiddleManServlet()
{
@Override
diff --git a/jetty-ee10/jetty-ee10-runner/src/main/java/org/eclipse/jetty/ee10/runner/Runner.java b/jetty-ee10/jetty-ee10-runner/src/main/java/org/eclipse/jetty/ee10/runner/Runner.java
index a982a988833..989a9f451d7 100644
--- a/jetty-ee10/jetty-ee10-runner/src/main/java/org/eclipse/jetty/ee10/runner/Runner.java
+++ b/jetty-ee10/jetty-ee10-runner/src/main/java/org/eclipse/jetty/ee10/runner/Runner.java
@@ -358,8 +358,9 @@ public class Runner
statsHandler.setHandler(oldHandler);
_server.setHandler(statsHandler);
- ServletContextHandler statsContext = new ServletContextHandler(_contexts, "/stats");
+ ServletContextHandler statsContext = new ServletContextHandler("/stats");
statsContext.setSessionHandler(new SessionHandler());
+ _contexts.addHandler(statsContext);
if (_statsPropFile != null)
{
ResourceFactory resourceFactory = ResourceFactory.of(statsContext);
@@ -457,10 +458,11 @@ public class Runner
else
{
// assume it is a WAR file
- WebAppContext webapp = new WebAppContext(_contexts, ctx.toString(), contextPath);
+ WebAppContext webapp = new WebAppContext(ctx.toString(), contextPath);
webapp.setConfigurationClasses(PLUS_CONFIGURATION_CLASSES);
webapp.setAttribute(MetaInfConfiguration.CONTAINER_JAR_PATTERN,
CONTAINER_INCLUDE_JAR_PATTERN);
+ _contexts.addHandler(webapp);
}
//reset
diff --git a/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/ServletContextHandler.java b/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/ServletContextHandler.java
index 38c50548bfb..d7393b17b5f 100644
--- a/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/ServletContextHandler.java
+++ b/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/ServletContextHandler.java
@@ -240,46 +240,40 @@ public class ServletContextHandler extends ContextHandler
public ServletContextHandler(String contextPath)
{
- this(null, contextPath);
+ this(contextPath, null, null, null, null);
}
public ServletContextHandler(int options)
{
- this(null, null, options);
+ this(null, options);
}
- public ServletContextHandler(Container parent, String contextPath)
+ public ServletContextHandler(String contextPath, int options)
{
- this(parent, contextPath, null, null, null, null);
+ this(contextPath, null, null, null, null, options);
}
- public ServletContextHandler(Container parent, String contextPath, int options)
+ public ServletContextHandler(String contextPath, boolean sessions, boolean security)
{
- this(parent, contextPath, null, null, null, null, options);
+ this(contextPath, (sessions ? SESSIONS : 0) | (security ? SECURITY : 0));
}
- public ServletContextHandler(Container parent, String contextPath, boolean sessions, boolean security)
+ public ServletContextHandler(SessionHandler sessionHandler, SecurityHandler securityHandler, ServletHandler servletHandler, ErrorHandler errorHandler)
{
- this(parent, contextPath, (sessions ? SESSIONS : 0) | (security ? SECURITY : 0));
+ this(null, sessionHandler, securityHandler, servletHandler, errorHandler);
}
- public ServletContextHandler(Container parent, SessionHandler sessionHandler, SecurityHandler securityHandler, ServletHandler servletHandler, ErrorHandler errorHandler)
+ public ServletContextHandler(String contextPath, SessionHandler sessionHandler, SecurityHandler securityHandler, ServletHandler servletHandler, ErrorHandler errorHandler)
{
- this(parent, null, sessionHandler, securityHandler, servletHandler, errorHandler);
+ this(contextPath, sessionHandler, securityHandler, servletHandler, errorHandler, 0);
}
- public ServletContextHandler(Container parent, String contextPath, SessionHandler sessionHandler, SecurityHandler securityHandler, ServletHandler servletHandler, ErrorHandler errorHandler)
- {
- this(parent, contextPath, sessionHandler, securityHandler, servletHandler, errorHandler, 0);
- }
-
- public ServletContextHandler(Container parent, String contextPath, SessionHandler sessionHandler, SecurityHandler securityHandler, ServletHandler servletHandler, ErrorHandler errorHandler, int options)
+ public ServletContextHandler(String contextPath, SessionHandler sessionHandler, SecurityHandler securityHandler, ServletHandler servletHandler, ErrorHandler errorHandler, int options)
{
_servletContext = newServletContextApi();
if (contextPath != null)
setContextPath(contextPath);
- Container.setAsParent(parent, this);
_options = options;
_sessionHandler = sessionHandler;
diff --git a/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/ServletTester.java b/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/ServletTester.java
index a76e06a1e16..205e918d66e 100644
--- a/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/ServletTester.java
+++ b/jetty-ee10/jetty-ee10-servlet/src/main/java/org/eclipse/jetty/ee10/servlet/ServletTester.java
@@ -217,7 +217,8 @@ public class ServletTester extends ContainerLifeCycle
public ServletTester(String contextPath, int options)
{
- _context = new ServletContextHandler(_server, contextPath, options);
+ _context = new ServletContextHandler(contextPath, options);
+ _server.setHandler(_context);
_server.setConnectors(new Connector[]{_connector});
addBean(_server);
}
diff --git a/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/AsyncContextListenersTest.java b/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/AsyncContextListenersTest.java
index 2d5dc3b7ee3..29dc40276ab 100644
--- a/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/AsyncContextListenersTest.java
+++ b/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/AsyncContextListenersTest.java
@@ -47,8 +47,9 @@ public class AsyncContextListenersTest
_connector = new ServerConnector(_server);
_server.addConnector(_connector);
- ServletContextHandler context = new ServletContextHandler(_server, "/", false, false);
+ ServletContextHandler context = new ServletContextHandler("/", false, false);
context.addServlet(new ServletHolder(servlet), path);
+ _server.setHandler(context);
_server.start();
}
diff --git a/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/AsyncServletLongPollTest.java b/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/AsyncServletLongPollTest.java
index db18472d785..2bedf4c2312 100644
--- a/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/AsyncServletLongPollTest.java
+++ b/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/AsyncServletLongPollTest.java
@@ -47,7 +47,8 @@ public class AsyncServletLongPollTest
connector = new ServerConnector(server);
server.addConnector(connector);
String contextPath = "/context";
- context = new ServletContextHandler(server, contextPath, ServletContextHandler.NO_SESSIONS);
+ context = new ServletContextHandler(contextPath, ServletContextHandler.NO_SESSIONS);
+ server.setHandler(context);
ServletHolder servletHolder = new ServletHolder(servlet);
String servletPath = "/path";
context.addServlet(servletHolder, servletPath);
diff --git a/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/DefaultServletTest.java b/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/DefaultServletTest.java
index 262d50ae2c7..213a4399634 100644
--- a/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/DefaultServletTest.java
+++ b/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/DefaultServletTest.java
@@ -3188,7 +3188,7 @@ public class DefaultServletTest
@Test
public void testPathInfoOnly() throws Exception
{
- ServletContextHandler context = new ServletContextHandler(null, "/c1", ServletContextHandler.NO_SESSIONS);
+ ServletContextHandler context = new ServletContextHandler("/c1", ServletContextHandler.NO_SESSIONS);
context.setWelcomeFiles(new String[]{"index.y", "index.x"});
ServletHolder indexServlet = new ServletHolder("index-servlet", new HttpServlet()
{
diff --git a/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/DispatcherForwardTest.java b/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/DispatcherForwardTest.java
index b7a4584db48..2f913a0a218 100644
--- a/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/DispatcherForwardTest.java
+++ b/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/DispatcherForwardTest.java
@@ -50,9 +50,10 @@ public class DispatcherForwardTest
connector = new LocalConnector(server);
server.addConnector(connector);
- ServletContextHandler context = new ServletContextHandler(server, "/");
+ ServletContextHandler context = new ServletContextHandler("/");
context.addServlet(new ServletHolder(servlet1), "/one");
context.addServlet(new ServletHolder(servlet2), "/two");
+ server.setHandler(context);
server.start();
}
diff --git a/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/FormTest.java b/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/FormTest.java
index 10aa41361a1..8280ee66f63 100644
--- a/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/FormTest.java
+++ b/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/FormTest.java
@@ -63,9 +63,10 @@ public class FormTest
connector = new ServerConnector(server, 1, 1);
server.addConnector(connector);
- ServletContextHandler handler = new ServletContextHandler(server, contextPath);
+ ServletContextHandler handler = new ServletContextHandler(contextPath);
HttpServlet servlet = config.apply(handler);
handler.addServlet(new ServletHolder(servlet), servletPath + "/*");
+ server.setHandler(handler);
server.start();
}
diff --git a/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/GzipHandlerBreakEvenSizeTest.java b/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/GzipHandlerBreakEvenSizeTest.java
index 3bbea06e110..ecfddc29e31 100644
--- a/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/GzipHandlerBreakEvenSizeTest.java
+++ b/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/GzipHandlerBreakEvenSizeTest.java
@@ -55,7 +55,7 @@ public class GzipHandlerBreakEvenSizeTest
GzipHandler gzipHandler = new GzipHandler();
- ServletContextHandler context = new ServletContextHandler(gzipHandler, "/");
+ ServletContextHandler context = new ServletContextHandler("/");
context.addServlet(VeryCompressibleContentServlet.class, "/content");
gzipHandler.setHandler(context);
server.setHandler(gzipHandler);
diff --git a/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/GzipHandlerTest.java b/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/GzipHandlerTest.java
index f78a37bd8b1..5106802c9fe 100644
--- a/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/GzipHandlerTest.java
+++ b/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/GzipHandlerTest.java
@@ -125,7 +125,7 @@ public class GzipHandlerTest
_server.setHandler(gzipHandler);
gzipHandler.setHandler(context);
}
-
+
_server.start();
}
diff --git a/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/InitServletTest.java b/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/InitServletTest.java
index dc19a813ef1..0376b1a9a47 100644
--- a/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/InitServletTest.java
+++ b/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/InitServletTest.java
@@ -90,7 +90,7 @@ public class InitServletTest
public void testServletInitialization() throws Exception
{
Server server = new Server(0);
- ServletContextHandler context = new ServletContextHandler(server, "/");
+ ServletContextHandler context = new ServletContextHandler("/");
server.setHandler(context);
// Add a lazily instantiated servlet.
context.addServlet(new ServletHolder(DemoServlet.class), "/*");
diff --git a/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/MultiPartServletTest.java b/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/MultiPartServletTest.java
index 868430c179b..2ccbbde45b9 100644
--- a/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/MultiPartServletTest.java
+++ b/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/MultiPartServletTest.java
@@ -109,7 +109,7 @@ public class MultiPartServletTest
connector = new ServerConnector(server);
server.addConnector(connector);
- ServletContextHandler contextHandler = new ServletContextHandler(server, "/");
+ ServletContextHandler contextHandler = new ServletContextHandler("/");
ServletHolder servletHolder = new ServletHolder(servlet);
servletHolder.getRegistration().setMultipartConfig(config);
contextHandler.addServlet(servletHolder, "/");
diff --git a/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/RegexServletTest.java b/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/RegexServletTest.java
index 816888a22c5..dbc6bf72d04 100644
--- a/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/RegexServletTest.java
+++ b/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/RegexServletTest.java
@@ -41,7 +41,7 @@ public class RegexServletTest
_server = new Server();
_connector = new LocalConnector(_server);
- _servletContextHandler = new ServletContextHandler(_server, "/ctx");
+ _servletContextHandler = new ServletContextHandler("/ctx");
_servletContextHandler.setServletHandler(new ServletHandler()
{
@Override
diff --git a/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/SSLAsyncIOServletTest.java b/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/SSLAsyncIOServletTest.java
index b5d557c2bca..da23dd6ebd0 100644
--- a/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/SSLAsyncIOServletTest.java
+++ b/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/SSLAsyncIOServletTest.java
@@ -177,7 +177,8 @@ public class SSLAsyncIOServletTest
server.addConnector(connector);
contextPath = "/context";
- ServletContextHandler context = new ServletContextHandler(server, contextPath, true, false);
+ ServletContextHandler context = new ServletContextHandler(contextPath, true, false);
+ server.setHandler(context);
servletPath = "/servlet";
context.addServlet(new ServletHolder(servlet), servletPath);
@@ -225,7 +226,8 @@ public class SSLAsyncIOServletTest
server.addConnector(connector);
contextPath = "/context";
- ServletContextHandler context = new ServletContextHandler(server, contextPath, true, false);
+ ServletContextHandler context = new ServletContextHandler(contextPath, true, false);
+ server.setHandler(context);
servletPath = "/servlet";
context.addServlet(new ServletHolder(servlet), servletPath);
diff --git a/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/ServletContextHandlerTest.java b/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/ServletContextHandlerTest.java
index eda08b82516..e6b4a9a9eaf 100644
--- a/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/ServletContextHandlerTest.java
+++ b/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/ServletContextHandlerTest.java
@@ -689,7 +689,7 @@ public class ServletContextHandlerTest
public void testInitParams() throws Exception
{
//Test get/setInitParam with null throws NPE
- ServletContextHandler root = new ServletContextHandler(_server, "/", ServletContextHandler.SESSIONS);
+ ServletContextHandler root = new ServletContextHandler("/", ServletContextHandler.SESSIONS);
_server.setHandler(root);
ListenerHolder initialListener = new ListenerHolder();
initialListener.setListener(new ServletContextListener()
@@ -782,7 +782,8 @@ public class ServletContextHandlerTest
int startMin = 7;
Integer timeout = Integer.valueOf(100);
- ServletContextHandler root = new ServletContextHandler(contexts, "/", ServletContextHandler.SESSIONS);
+ ServletContextHandler root = new ServletContextHandler("/", ServletContextHandler.SESSIONS);
+ contexts.addHandler(root);
root.getSessionHandler().setMaxInactiveInterval((int)TimeUnit.MINUTES.toSeconds(startMin));
root.addBean(new MySCIStarter(root.getContext(), new MySCI(true, timeout.intValue())), true);
_server.start();
@@ -806,7 +807,8 @@ public class ServletContextHandlerTest
ContextHandlerCollection contexts = new ContextHandlerCollection();
_server.setHandler(contexts);
- ServletContextHandler root = new ServletContextHandler(contexts, "/", ServletContextHandler.SESSIONS);
+ ServletContextHandler root = new ServletContextHandler("/", ServletContextHandler.SESSIONS);
+ contexts.addHandler(root);
ListenerHolder listenerHolder = new ListenerHolder();
StopTestListener stopTestListener = new StopTestListener();
listenerHolder.setListener(stopTestListener);
@@ -837,7 +839,8 @@ public class ServletContextHandlerTest
ContextHandlerCollection contexts = new ContextHandlerCollection();
_server.setHandler(contexts);
- ServletContextHandler root = new ServletContextHandler(contexts, "/", ServletContextHandler.SESSIONS);
+ ServletContextHandler root = new ServletContextHandler("/", ServletContextHandler.SESSIONS);
+ contexts.addHandler(root);
MySessionHandler sessions = new MySessionHandler();
root.setSessionHandler(sessions);
@@ -855,7 +858,8 @@ public class ServletContextHandlerTest
ContextHandlerCollection contexts = new ContextHandlerCollection();
_server.setHandler(contexts);
- ServletContextHandler root = new ServletContextHandler(contexts, "/");
+ ServletContextHandler root = new ServletContextHandler("/");
+ contexts.addHandler(root);
root.addBean(new MySCIStarter(root.getContext(), new MySCI()), true);
_server.start();
assertTrue((Boolean)root.getServletContext().getAttribute("MySCI.startup"));
@@ -876,7 +880,8 @@ public class ServletContextHandlerTest
ContextHandlerCollection contexts = new ContextHandlerCollection();
server.setHandler(contexts);
- ServletContextHandler root = new ServletContextHandler(contexts, "/");
+ ServletContextHandler root = new ServletContextHandler("/");
+ contexts.addHandler(root);
class TestServletContextListener implements ServletContextListener
{
public int initialized = 0;
@@ -910,7 +915,8 @@ public class ServletContextHandlerTest
ContextHandlerCollection contexts = new ContextHandlerCollection();
_server.setHandler(contexts);
- ServletContextHandler root = new ServletContextHandler(contexts, "/", ServletContextHandler.SESSIONS);
+ ServletContextHandler root = new ServletContextHandler("/", ServletContextHandler.SESSIONS);
+ contexts.addHandler(root);
root.getSessionHandler().setSessionDomain("testing");
ListenerHolder initialListener = new ListenerHolder();
initialListener.setListener(new InitialListener());
@@ -1022,7 +1028,8 @@ public class ServletContextHandlerTest
ContextHandlerCollection contexts = new ContextHandlerCollection();
_server.setHandler(contexts);
- ServletContextHandler root = new ServletContextHandler(contexts, "/", ServletContextHandler.SESSIONS);
+ ServletContextHandler root = new ServletContextHandler("/", ServletContextHandler.SESSIONS);
+ contexts.addHandler(root);
SessionHandler session = root.getSessionHandler();
ServletHandler servlet = root.getServletHandler();
@@ -1107,7 +1114,8 @@ public class ServletContextHandlerTest
ContextHandlerCollection contexts = new ContextHandlerCollection();
_server.setHandler(contexts);
- ServletContextHandler root = new ServletContextHandler(contexts, "/");
+ ServletContextHandler root = new ServletContextHandler("/");
+ contexts.addHandler(root);
class FilterCreatingSCI implements ServletContainerInitializer
{
@Override
@@ -1153,7 +1161,8 @@ public class ServletContextHandlerTest
ContextHandlerCollection contexts = new ContextHandlerCollection();
_server.setHandler(contexts);
- ServletContextHandler root = new ServletContextHandler(contexts, "/");
+ ServletContextHandler root = new ServletContextHandler("/");
+ contexts.addHandler(root);
class ListenerCreatingSCI implements ServletContainerInitializer
{
@Override
@@ -1345,7 +1354,8 @@ public class ServletContextHandlerTest
ContextHandlerCollection contexts = new ContextHandlerCollection();
_server.setHandler(contexts);
- ServletContextHandler root = new ServletContextHandler(contexts, "/");
+ ServletContextHandler root = new ServletContextHandler("/");
+ contexts.addHandler(root);
class ServletAddingSCI implements ServletContainerInitializer
{
@Override
@@ -1378,7 +1388,8 @@ public class ServletContextHandlerTest
ContextHandlerCollection contexts = new ContextHandlerCollection();
_server.setHandler(contexts);
- ServletContextHandler root = new ServletContextHandler(contexts, "/");
+ ServletContextHandler root = new ServletContextHandler("/");
+ contexts.addHandler(root);
ServletHolder jspServlet = new ServletHolder();
jspServlet.setName("jsp");
jspServlet.setHeldClass(FakeJspServlet.class);
@@ -1416,7 +1427,8 @@ public class ServletContextHandlerTest
ContextHandlerCollection contexts = new ContextHandlerCollection();
_server.setHandler(contexts);
- ServletContextHandler root = new ServletContextHandler(contexts, "/");
+ ServletContextHandler root = new ServletContextHandler("/");
+ contexts.addHandler(root);
ServletHolder jspServlet = new ServletHolder();
jspServlet.setName("jsp");
jspServlet.setHeldClass(FakeJspServlet.class);
@@ -1453,7 +1465,8 @@ public class ServletContextHandlerTest
ContextHandlerCollection contexts = new ContextHandlerCollection();
_server.setHandler(contexts);
- ServletContextHandler root = new ServletContextHandler(contexts, "/");
+ ServletContextHandler root = new ServletContextHandler("/");
+ contexts.addHandler(root);
ServletHolder jspServlet = new ServletHolder();
jspServlet.setName("jsp");
jspServlet.setHeldClass(FakeJspServlet.class);
@@ -1897,7 +1910,8 @@ public class ServletContextHandlerTest
Handler.Sequence list = new Handler.Sequence();
_server.setHandler(list);
- ServletContextHandler root = new ServletContextHandler(list, "/", ServletContextHandler.SESSIONS);
+ ServletContextHandler root = new ServletContextHandler("/", ServletContextHandler.SESSIONS);
+ list.addHandler(root);
ServletHandler servlet = root.getServletHandler();
servlet.setEnsureDefaultServlet(false);
@@ -2435,7 +2449,7 @@ public class ServletContextHandlerTest
@Test
public void testEmptyPathInfo() throws Exception
{
- ServletContextHandler context = new ServletContextHandler(null, "/c1", ServletContextHandler.NO_SESSIONS);
+ ServletContextHandler context = new ServletContextHandler("/c1", ServletContextHandler.NO_SESSIONS);
context.setAllowNullPathInContext(true);
context.addServlet(new ServletHolder("default-servlet", new HttpServlet()
{
diff --git a/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/ServletLifeCycleTest.java b/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/ServletLifeCycleTest.java
index b116177af43..7486038b4ee 100644
--- a/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/ServletLifeCycleTest.java
+++ b/jetty-ee10/jetty-ee10-servlet/src/test/java/org/eclipse/jetty/ee10/servlet/ServletLifeCycleTest.java
@@ -51,7 +51,8 @@ public class ServletLifeCycleTest
LocalConnector connector = new LocalConnector(server);
server.addConnector(connector);
- ServletContextHandler context = new ServletContextHandler(server, "/");
+ ServletContextHandler context = new ServletContextHandler("/");
+ server.setHandler(context);
context.getObjectFactory().addDecorator(new TestDecorator());
diff --git a/jetty-ee10/jetty-ee10-servlets/src/test/java/org/eclipse/jetty/ee10/servlets/AbstractDoSFilterTest.java b/jetty-ee10/jetty-ee10-servlets/src/test/java/org/eclipse/jetty/ee10/servlets/AbstractDoSFilterTest.java
index de448ad2eae..af9984776c4 100644
--- a/jetty-ee10/jetty-ee10-servlets/src/test/java/org/eclipse/jetty/ee10/servlets/AbstractDoSFilterTest.java
+++ b/jetty-ee10/jetty-ee10-servlets/src/test/java/org/eclipse/jetty/ee10/servlets/AbstractDoSFilterTest.java
@@ -60,7 +60,8 @@ public abstract class AbstractDoSFilterTest
_server = new Server();
_connector = new ServerConnector(_server);
_server.addConnector(_connector);
- ServletContextHandler context = new ServletContextHandler(_server, "/ctx", true, false);
+ ServletContextHandler context = new ServletContextHandler("/ctx", true, false);
+ _server.setHandler(context);
DefaultSessionCache sessionCache = new DefaultSessionCache(context.getSessionHandler());
FileSessionDataStore fileStore = new FileSessionDataStore();
diff --git a/jetty-ee10/jetty-ee10-servlets/src/test/java/org/eclipse/jetty/ee10/servlets/CrossOriginFilterTest.java b/jetty-ee10/jetty-ee10-servlets/src/test/java/org/eclipse/jetty/ee10/servlets/CrossOriginFilterTest.java
index 44396026ef3..01e2e86c3a4 100644
--- a/jetty-ee10/jetty-ee10-servlets/src/test/java/org/eclipse/jetty/ee10/servlets/CrossOriginFilterTest.java
+++ b/jetty-ee10/jetty-ee10-servlets/src/test/java/org/eclipse/jetty/ee10/servlets/CrossOriginFilterTest.java
@@ -58,7 +58,8 @@ public class CrossOriginFilterTest
server = new Server();
connector = new LocalConnector(server);
server.addConnector(connector);
- context = new ServletContextHandler(server, "/");
+ context = new ServletContextHandler("/");
+ server.setHandler(context);
server.start();
}
diff --git a/jetty-ee10/jetty-ee10-servlets/src/test/java/org/eclipse/jetty/ee10/servlets/DoSFilterJMXTest.java b/jetty-ee10/jetty-ee10-servlets/src/test/java/org/eclipse/jetty/ee10/servlets/DoSFilterJMXTest.java
index d17f16b0aa7..2873fe04f47 100644
--- a/jetty-ee10/jetty-ee10-servlets/src/test/java/org/eclipse/jetty/ee10/servlets/DoSFilterJMXTest.java
+++ b/jetty-ee10/jetty-ee10-servlets/src/test/java/org/eclipse/jetty/ee10/servlets/DoSFilterJMXTest.java
@@ -48,7 +48,8 @@ public class DoSFilterJMXTest
Connector connector = new ServerConnector(server);
server.addConnector(connector);
- ServletContextHandler context = new ServletContextHandler(server, "/", ServletContextHandler.SESSIONS);
+ ServletContextHandler context = new ServletContextHandler("/", ServletContextHandler.SESSIONS);
+ server.setHandler(context);
DoSFilter filter = new DoSFilter();
FilterHolder holder = new FilterHolder(filter);
String name = "dos";
diff --git a/jetty-ee10/jetty-ee10-servlets/src/test/java/org/eclipse/jetty/ee10/servlets/EventSourceServletTest.java b/jetty-ee10/jetty-ee10-servlets/src/test/java/org/eclipse/jetty/ee10/servlets/EventSourceServletTest.java
index 68eb92a385e..858ba92c03b 100644
--- a/jetty-ee10/jetty-ee10-servlets/src/test/java/org/eclipse/jetty/ee10/servlets/EventSourceServletTest.java
+++ b/jetty-ee10/jetty-ee10-servlets/src/test/java/org/eclipse/jetty/ee10/servlets/EventSourceServletTest.java
@@ -51,7 +51,8 @@ public class EventSourceServletTest
connector = (NetworkConnector)server.getConnectors()[0];
String contextPath = "/test";
- context = new ServletContextHandler(server, contextPath, ServletContextHandler.SESSIONS);
+ context = new ServletContextHandler(contextPath, ServletContextHandler.SESSIONS);
+ server.setHandler(context);
server.start();
}
diff --git a/jetty-ee10/jetty-ee10-servlets/src/test/java/org/eclipse/jetty/ee10/servlets/HeaderFilterTest.java b/jetty-ee10/jetty-ee10-servlets/src/test/java/org/eclipse/jetty/ee10/servlets/HeaderFilterTest.java
index 618539ad90a..dba283d3dc5 100644
--- a/jetty-ee10/jetty-ee10-servlets/src/test/java/org/eclipse/jetty/ee10/servlets/HeaderFilterTest.java
+++ b/jetty-ee10/jetty-ee10-servlets/src/test/java/org/eclipse/jetty/ee10/servlets/HeaderFilterTest.java
@@ -50,8 +50,9 @@ public class HeaderFilterTest
_server = new Server();
_connector = new LocalConnector(_server);
_server.addConnector(_connector);
- _context = new ServletContextHandler(_server, "/context");
+ _context = new ServletContextHandler("/context");
_context.addServlet(NullServlet.class, "/test/*");
+ _server.setHandler(_context);
_server.start();
}
diff --git a/jetty-ee10/jetty-ee10-servlets/src/test/java/org/eclipse/jetty/ee10/servlets/IncludeExcludeBasedFilterTest.java b/jetty-ee10/jetty-ee10-servlets/src/test/java/org/eclipse/jetty/ee10/servlets/IncludeExcludeBasedFilterTest.java
index b4516b1721b..ba6e299ee54 100644
--- a/jetty-ee10/jetty-ee10-servlets/src/test/java/org/eclipse/jetty/ee10/servlets/IncludeExcludeBasedFilterTest.java
+++ b/jetty-ee10/jetty-ee10-servlets/src/test/java/org/eclipse/jetty/ee10/servlets/IncludeExcludeBasedFilterTest.java
@@ -51,7 +51,8 @@ public class IncludeExcludeBasedFilterTest
_server = new Server();
_connector = new LocalConnector(_server);
_server.addConnector(_connector);
- _context = new ServletContextHandler(_server, "/context");
+ _context = new ServletContextHandler("/context");
+ _server.setHandler(_context);
_context.addServlet(NullServlet.class, "/test/*");
_server.start();
}
diff --git a/jetty-ee10/jetty-ee10-servlets/src/test/java/org/eclipse/jetty/ee10/servlets/QoSFilterTest.java b/jetty-ee10/jetty-ee10-servlets/src/test/java/org/eclipse/jetty/ee10/servlets/QoSFilterTest.java
index 9286c3cf47e..d8edf7e7210 100644
--- a/jetty-ee10/jetty-ee10-servlets/src/test/java/org/eclipse/jetty/ee10/servlets/QoSFilterTest.java
+++ b/jetty-ee10/jetty-ee10-servlets/src/test/java/org/eclipse/jetty/ee10/servlets/QoSFilterTest.java
@@ -64,7 +64,8 @@ public class QoSFilterTest
public void setUp() throws Exception
{
server = new Server();
- context = new ServletContextHandler(server, "/context");
+ context = new ServletContextHandler("/context");
+ server.setHandler(context);
context.addServlet(TestServlet.class, "/test");
TestServlet.__maxSleepers = 0;
TestServlet.__sleepers = 0;
diff --git a/jetty-ee10/jetty-ee10-servlets/src/test/java/org/eclipse/jetty/ee10/servlets/ThreadStarvationTest.java b/jetty-ee10/jetty-ee10-servlets/src/test/java/org/eclipse/jetty/ee10/servlets/ThreadStarvationTest.java
index 837f57b0ff7..c627c9b0147 100644
--- a/jetty-ee10/jetty-ee10-servlets/src/test/java/org/eclipse/jetty/ee10/servlets/ThreadStarvationTest.java
+++ b/jetty-ee10/jetty-ee10-servlets/src/test/java/org/eclipse/jetty/ee10/servlets/ThreadStarvationTest.java
@@ -104,7 +104,7 @@ public class ThreadStarvationTest
connector.setIdleTimeout(Long.MAX_VALUE);
_server.addConnector(connector);
- ServletContextHandler context = new ServletContextHandler(_server, "/");
+ ServletContextHandler context = new ServletContextHandler("/");
context.setBaseResourceAsPath(directory.toPath());
//TODO: Uses DefaultServlet, currently all commented out
diff --git a/jetty-ee10/jetty-ee10-tests/jetty-ee10-test-integration/src/test/java/org/eclipse/jetty/ee10/test/HttpInputIntegrationTest.java b/jetty-ee10/jetty-ee10-tests/jetty-ee10-test-integration/src/test/java/org/eclipse/jetty/ee10/test/HttpInputIntegrationTest.java
index bccf3d3a2e6..e816fc9fdd1 100644
--- a/jetty-ee10/jetty-ee10-tests/jetty-ee10-test-integration/src/test/java/org/eclipse/jetty/ee10/test/HttpInputIntegrationTest.java
+++ b/jetty-ee10/jetty-ee10-tests/jetty-ee10-test-integration/src/test/java/org/eclipse/jetty/ee10/test/HttpInputIntegrationTest.java
@@ -118,7 +118,8 @@ public class HttpInputIntegrationTest
http2.setIdleTimeout(5000);
__server.addConnector(http2);
- ServletContextHandler context = new ServletContextHandler(__server, "/ctx");
+ ServletContextHandler context = new ServletContextHandler("/ctx");
+ __server.setHandler(context);
ServletHolder holder = new ServletHolder(new TestServlet());
holder.setAsyncSupported(true);
context.addServlet(holder, "/*");
diff --git a/jetty-ee10/jetty-ee10-tests/jetty-ee10-test-sessions/jetty-ee10-test-sessions-common/src/main/java/org/eclipse/jetty/ee10/session/SessionTestSupport.java b/jetty-ee10/jetty-ee10-tests/jetty-ee10-test-sessions/jetty-ee10-test-sessions-common/src/main/java/org/eclipse/jetty/ee10/session/SessionTestSupport.java
index df6a10f6f51..a76feba7105 100644
--- a/jetty-ee10/jetty-ee10-tests/jetty-ee10-test-sessions/jetty-ee10-test-sessions-common/src/main/java/org/eclipse/jetty/ee10/session/SessionTestSupport.java
+++ b/jetty-ee10/jetty-ee10-tests/jetty-ee10-test-sessions/jetty-ee10-test-sessions-common/src/main/java/org/eclipse/jetty/ee10/session/SessionTestSupport.java
@@ -120,7 +120,8 @@ public class SessionTestSupport
public ServletContextHandler addContext(String contextPath) throws Exception
{
- ServletContextHandler context = new ServletContextHandler(_contexts, contextPath);
+ ServletContextHandler context = new ServletContextHandler(contextPath);
+ _contexts.addHandler(context);
SessionHandler sessionHandler = newSessionHandler();
sessionHandler.setSessionIdManager(_sessionIdManager);
sessionHandler.setMaxInactiveInterval(_maxInactivePeriod);
diff --git a/jetty-ee10/jetty-ee10-tests/jetty-ee10-test-sessions/jetty-ee10-test-sessions-common/src/test/java/org/eclipse/jetty/ee10/session/RequestDispatchedSessionTest.java b/jetty-ee10/jetty-ee10-tests/jetty-ee10-test-sessions/jetty-ee10-test-sessions-common/src/test/java/org/eclipse/jetty/ee10/session/RequestDispatchedSessionTest.java
index 6a27952010a..0fb478167e9 100644
--- a/jetty-ee10/jetty-ee10-tests/jetty-ee10-test-sessions/jetty-ee10-test-sessions-common/src/test/java/org/eclipse/jetty/ee10/session/RequestDispatchedSessionTest.java
+++ b/jetty-ee10/jetty-ee10-tests/jetty-ee10-test-sessions/jetty-ee10-test-sessions-common/src/test/java/org/eclipse/jetty/ee10/session/RequestDispatchedSessionTest.java
@@ -56,7 +56,8 @@ public class RequestDispatchedSessionTest
ContextHandlerCollection handlers = new ContextHandlerCollection();
// Default session behavior
- ServletContextHandler contextHandler = new ServletContextHandler(handlers, "/", ServletContextHandler.SESSIONS);
+ ServletContextHandler contextHandler = new ServletContextHandler("/", ServletContextHandler.SESSIONS);
+ handlers.addHandler(contextHandler);
contextHandler.addServlet(LoginServlet.class, "/login");
contextHandler.addServlet(ShowUserServlet.class, "/user");
contextHandler.addServlet(DefaultServlet.class, "/");
diff --git a/jetty-ee10/jetty-ee10-webapp/src/main/java/org/eclipse/jetty/ee10/webapp/WebAppContext.java b/jetty-ee10/jetty-ee10-webapp/src/main/java/org/eclipse/jetty/ee10/webapp/WebAppContext.java
index b216575f4a0..e782cab0471 100644
--- a/jetty-ee10/jetty-ee10-webapp/src/main/java/org/eclipse/jetty/ee10/webapp/WebAppContext.java
+++ b/jetty-ee10/jetty-ee10-webapp/src/main/java/org/eclipse/jetty/ee10/webapp/WebAppContext.java
@@ -49,7 +49,6 @@ import org.eclipse.jetty.ee10.servlet.security.ConstraintSecurityHandler;
import org.eclipse.jetty.security.SecurityHandler;
import org.eclipse.jetty.server.Connector;
import org.eclipse.jetty.server.Deployable;
-import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.util.ExceptionUtil;
import org.eclipse.jetty.util.IO;
@@ -150,7 +149,7 @@ public class WebAppContext extends ServletContextHandler implements WebAppClassL
public WebAppContext()
{
- this(null, null, null, null, null, new ErrorPageErrorHandler(), SESSIONS | SECURITY);
+ this(null, null, null, null, new ErrorPageErrorHandler(), SESSIONS | SECURITY);
}
/**
@@ -159,7 +158,7 @@ public class WebAppContext extends ServletContextHandler implements WebAppClassL
*/
public WebAppContext(String webApp, String contextPath)
{
- this(null, contextPath, null, null, null, new ErrorPageErrorHandler(), SESSIONS | SECURITY);
+ this(contextPath, null, null, null, new ErrorPageErrorHandler(), SESSIONS | SECURITY);
setWar(webApp);
}
@@ -169,29 +168,7 @@ public class WebAppContext extends ServletContextHandler implements WebAppClassL
*/
public WebAppContext(Resource webApp, String contextPath)
{
- this(null, contextPath, null, null, null, new ErrorPageErrorHandler(), SESSIONS | SECURITY);
- setWarResource(webApp);
- }
-
- /**
- * @param parent The parent container.
- * @param contextPath The context path
- * @param webApp The URL or filename of the webapp directory or war file.
- */
- public WebAppContext(Container parent, String webApp, String contextPath)
- {
- this(parent, contextPath, null, null, null, new ErrorPageErrorHandler(), SESSIONS | SECURITY);
- setWar(webApp);
- }
-
- /**
- * @param parent The parent container.
- * @param contextPath The context path
- * @param webApp The webapp directory or war file.
- */
- public WebAppContext(Container parent, Resource webApp, String contextPath)
- {
- this(parent, contextPath, null, null, null, new ErrorPageErrorHandler(), SESSIONS | SECURITY);
+ this(contextPath, null, null, null, new ErrorPageErrorHandler(), SESSIONS | SECURITY);
setWarResource(webApp);
}
@@ -203,11 +180,10 @@ public class WebAppContext extends ServletContextHandler implements WebAppClassL
*/
public WebAppContext(SessionHandler sessionHandler, SecurityHandler securityHandler, ServletHandler servletHandler, ErrorHandler errorHandler)
{
- this(null, null, sessionHandler, securityHandler, servletHandler, errorHandler, 0);
+ this(null, sessionHandler, securityHandler, servletHandler, errorHandler, 0);
}
/**
- * @param parent the parent container
* @param contextPath the context path
* @param sessionHandler SessionHandler for this web app
* @param securityHandler SecurityHandler for this web app
@@ -215,14 +191,13 @@ public class WebAppContext extends ServletContextHandler implements WebAppClassL
* @param errorHandler ErrorHandler for this web app
* @param options the options ({@link ServletContextHandler#SESSIONS} and/or {@link ServletContextHandler#SECURITY})
*/
- public WebAppContext(Container parent, String contextPath, SessionHandler sessionHandler, SecurityHandler securityHandler, ServletHandler servletHandler, ErrorHandler errorHandler, int options)
+ public WebAppContext(String contextPath, SessionHandler sessionHandler, SecurityHandler securityHandler, ServletHandler servletHandler, ErrorHandler errorHandler, int options)
{
// always pass parent as null and then set below, so that any resulting setServer call
// is done after this instance is constructed.
- super(null, contextPath, sessionHandler, securityHandler, servletHandler, errorHandler, options);
+ super(contextPath, sessionHandler, securityHandler, servletHandler, errorHandler, options);
setErrorHandler(errorHandler != null ? errorHandler : new ErrorPageErrorHandler());
setProtectedTargets(__dftProtectedTargets);
- Handler.Container.setAsParent(parent, this);
}
@Override
diff --git a/jetty-ee10/jetty-ee10-webapp/src/test/java/org/eclipse/jetty/ee10/webapp/WebAppContextTest.java b/jetty-ee10/jetty-ee10-webapp/src/test/java/org/eclipse/jetty/ee10/webapp/WebAppContextTest.java
index b6123479743..1fd5c44b5cd 100644
--- a/jetty-ee10/jetty-ee10-webapp/src/test/java/org/eclipse/jetty/ee10/webapp/WebAppContextTest.java
+++ b/jetty-ee10/jetty-ee10-webapp/src/test/java/org/eclipse/jetty/ee10/webapp/WebAppContextTest.java
@@ -440,7 +440,7 @@ public class WebAppContextTest
Server server = newServer();
ContextHandlerCollection contexts = new ContextHandlerCollection();
- WebAppContext context = new WebAppContext(null, null, null, null, null, new ErrorPageErrorHandler(),
+ WebAppContext context = new WebAppContext(null, null, null, null, new ErrorPageErrorHandler(),
ServletContextHandler.NO_SESSIONS | ServletContextHandler.NO_SECURITY);
context.setContextPath("/");
diff --git a/jetty-ee10/jetty-ee10-webapp/src/test/java/org/eclipse/jetty/ee10/webapp/WebAppDefaultServletTest.java b/jetty-ee10/jetty-ee10-webapp/src/test/java/org/eclipse/jetty/ee10/webapp/WebAppDefaultServletTest.java
index 6b8aad537b7..c447730566f 100644
--- a/jetty-ee10/jetty-ee10-webapp/src/test/java/org/eclipse/jetty/ee10/webapp/WebAppDefaultServletTest.java
+++ b/jetty-ee10/jetty-ee10-webapp/src/test/java/org/eclipse/jetty/ee10/webapp/WebAppDefaultServletTest.java
@@ -86,7 +86,7 @@ public class WebAppDefaultServletTest
output.write("standard hash dir welcome".getBytes(StandardCharsets.UTF_8));
}
- WebAppContext context = new WebAppContext(server, directoryPath.toString(), "/");
+ WebAppContext context = new WebAppContext(directoryPath.toString(), "/");
server.setHandler(context);
server.start();
diff --git a/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jakarta-tests/src/main/java/org/eclipse/jetty/ee10/websocket/jakarta/tests/LocalServer.java b/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jakarta-tests/src/main/java/org/eclipse/jetty/ee10/websocket/jakarta/tests/LocalServer.java
index f0e4029e45b..566c81e3401 100644
--- a/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jakarta-tests/src/main/java/org/eclipse/jetty/ee10/websocket/jakarta/tests/LocalServer.java
+++ b/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jakarta-tests/src/main/java/org/eclipse/jetty/ee10/websocket/jakarta/tests/LocalServer.java
@@ -161,7 +161,8 @@ public class LocalServer extends ContainerLifeCycle implements LocalFuzzer.Provi
protected Handler createRootHandler(Server server) throws Exception
{
- servletContextHandler = new ServletContextHandler(server, "/", true, false);
+ servletContextHandler = new ServletContextHandler("/", true, false);
+ server.setHandler(servletContextHandler);
servletContextHandler.setContextPath("/");
JakartaWebSocketServletContainerInitializer.configure(servletContextHandler, (context, container) ->
((JakartaWebSocketServerContainer)container).addSessionListener(trackingListener));
diff --git a/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee10/websocket/jakarta/tests/server/MemoryUsageTest.java b/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee10/websocket/jakarta/tests/server/MemoryUsageTest.java
index 234fbab02cf..ddabdf72b54 100644
--- a/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee10/websocket/jakarta/tests/server/MemoryUsageTest.java
+++ b/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee10/websocket/jakarta/tests/server/MemoryUsageTest.java
@@ -72,7 +72,8 @@ public class MemoryUsageTest
connector = new ServerConnector(server);
server.addConnector(connector);
- ServletContextHandler contextHandler = new ServletContextHandler(server, "/", true, false);
+ ServletContextHandler contextHandler = new ServletContextHandler("/", true, false);
+ server.setHandler(contextHandler);
JakartaWebSocketServletContainerInitializer.configure(contextHandler, (context, container) ->
{
ServerEndpointConfig config = ServerEndpointConfig.Builder.create(BasicEndpoint.class, "/").build();
diff --git a/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee10/websocket/jakarta/tests/server/ServerDecoderTest.java b/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee10/websocket/jakarta/tests/server/ServerDecoderTest.java
index 21653f05eb2..7c63393b2ed 100644
--- a/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee10/websocket/jakarta/tests/server/ServerDecoderTest.java
+++ b/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jakarta-tests/src/test/java/org/eclipse/jetty/ee10/websocket/jakarta/tests/server/ServerDecoderTest.java
@@ -103,7 +103,7 @@ public class ServerDecoderTest
server = new Server();
ServerConnector serverConnector = new ServerConnector(server);
server.addConnector(serverConnector);
- ServletContextHandler servletContextHandler = new ServletContextHandler(null, "/");
+ ServletContextHandler servletContextHandler = new ServletContextHandler("/");
server.setHandler(servletContextHandler);
JakartaWebSocketServletContainerInitializer.configure(servletContextHandler, ((servletContext, serverContainer) ->
diff --git a/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jetty-tests/src/test/java/org/eclipse/jetty/ee10/websocket/tests/WebSocketOverHTTP2Test.java b/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jetty-tests/src/test/java/org/eclipse/jetty/ee10/websocket/tests/WebSocketOverHTTP2Test.java
index abb5430ed31..ffab4054f09 100644
--- a/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jetty-tests/src/test/java/org/eclipse/jetty/ee10/websocket/tests/WebSocketOverHTTP2Test.java
+++ b/jetty-ee10/jetty-ee10-websocket/jetty-ee10-websocket-jetty-tests/src/test/java/org/eclipse/jetty/ee10/websocket/tests/WebSocketOverHTTP2Test.java
@@ -121,7 +121,8 @@ public class WebSocketOverHTTP2Test
tlsConnector = new ServerConnector(server, 1, 1, ssl, alpn, h1s, h2s);
server.addConnector(tlsConnector);
- context = new ServletContextHandler(server, "/");
+ context = new ServletContextHandler("/");
+ server.setHandler(context);
context.addServlet(new ServletHolder(servlet), "/ws/*");
JettyWebSocketServletContainerInitializer.configure(context, null);
diff --git a/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/ContextHandler.java b/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/ContextHandler.java
index 6d855dd40b6..6dde17d0f2e 100644
--- a/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/ContextHandler.java
+++ b/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/ContextHandler.java
@@ -248,7 +248,7 @@ public class ContextHandler extends ScopedHandler implements Attributes, Supplie
_initParams = new HashMap<>();
if (contextPath != null)
setContextPath(contextPath);
- Handler.Container.setAsParent(parent, _coreContextHandler);
+ HandlerWrapper.setAsParent(parent, _coreContextHandler);
}
@Override
diff --git a/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/HandlerWrapper.java b/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/HandlerWrapper.java
index c6e7c1900c1..17759204f3d 100644
--- a/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/HandlerWrapper.java
+++ b/jetty-ee9/jetty-ee9-nested/src/main/java/org/eclipse/jetty/ee9/nested/HandlerWrapper.java
@@ -138,4 +138,19 @@ public class HandlerWrapper extends AbstractHandlerContainer
}
super.destroy();
}
+
+ /**
+ * Make a {@link org.eclipse.jetty.server.Handler.Container} the parent of a {@link org.eclipse.jetty.server.Handler}
+ * @param parent The {@link org.eclipse.jetty.server.Handler.Container} that will be the parent
+ * @param handler The {@link org.eclipse.jetty.server.Handler} that will be the child
+ */
+ public static void setAsParent(org.eclipse.jetty.server.Handler.Container parent, org.eclipse.jetty.server.Handler handler)
+ {
+ if (parent instanceof org.eclipse.jetty.server.Handler.Collection collection)
+ collection.addHandler(handler);
+ else if (parent instanceof org.eclipse.jetty.server.Handler.Singleton wrapper)
+ wrapper.setHandler(handler);
+ else if (parent != null)
+ throw new IllegalArgumentException("Unknown parent type: " + parent);
+ }
}
diff --git a/jetty-ee9/jetty-ee9-webapp/src/main/java/org/eclipse/jetty/ee9/webapp/WebAppContext.java b/jetty-ee9/jetty-ee9-webapp/src/main/java/org/eclipse/jetty/ee9/webapp/WebAppContext.java
index 6aeec5ef551..17bfdcbd7ee 100644
--- a/jetty-ee9/jetty-ee9-webapp/src/main/java/org/eclipse/jetty/ee9/webapp/WebAppContext.java
+++ b/jetty-ee9/jetty-ee9-webapp/src/main/java/org/eclipse/jetty/ee9/webapp/WebAppContext.java
@@ -42,6 +42,7 @@ import jakarta.servlet.http.HttpSessionIdListener;
import jakarta.servlet.http.HttpSessionListener;
import org.eclipse.jetty.ee9.nested.ContextHandler;
import org.eclipse.jetty.ee9.nested.ErrorHandler;
+import org.eclipse.jetty.ee9.nested.HandlerWrapper;
import org.eclipse.jetty.ee9.nested.SessionHandler;
import org.eclipse.jetty.ee9.security.ConstraintAware;
import org.eclipse.jetty.ee9.security.ConstraintMapping;
@@ -234,7 +235,7 @@ public class WebAppContext extends ServletContextHandler implements WebAppClassL
_apiContext = new Context();
setErrorHandler(errorHandler != null ? errorHandler : new ErrorPageErrorHandler());
setProtectedTargets(__dftProtectedTargets);
- Handler.Container.setAsParent(parent, this.get());
+ HandlerWrapper.setAsParent(parent, this.get());
}
@Override