Search in sources :

Example 31 with Servlet

use of jakarta.servlet.Servlet in project tomcat by apache.

the class TestAsyncContextImpl method doTestDispatchWithSpaces.

private void doTestDispatchWithSpaces(boolean async) throws Exception {
    Tomcat tomcat = getTomcatInstance();
    Context context = tomcat.addContext("", null);
    if (async) {
        Servlet s = new AsyncDispatchUrlWithSpacesServlet();
        Wrapper w = Tomcat.addServlet(context, "space", s);
        w.setAsyncSupported(true);
    } else {
        Tomcat.addServlet(context, "space", new ForwardDispatchUrlWithSpacesServlet());
    }
    context.addServletMappingDecoded("/space/*", "space");
    tomcat.start();
    ByteChunk responseBody = new ByteChunk();
    int rc = getUrl("http://localhost:" + getPort() + "/sp%61ce/foo%20bar", responseBody, null);
    Assert.assertEquals(200, rc);
}
Also used : AsyncContext(jakarta.servlet.AsyncContext) Context(org.apache.catalina.Context) TesterContext(org.apache.tomcat.unittest.TesterContext) Wrapper(org.apache.catalina.Wrapper) ServletResponseWrapper(jakarta.servlet.ServletResponseWrapper) ServletRequestWrapper(jakarta.servlet.ServletRequestWrapper) Tomcat(org.apache.catalina.startup.Tomcat) ByteChunk(org.apache.tomcat.util.buf.ByteChunk) Servlet(jakarta.servlet.Servlet) GenericServlet(jakarta.servlet.GenericServlet) HttpServlet(jakarta.servlet.http.HttpServlet)

Example 32 with Servlet

use of jakarta.servlet.Servlet in project tomcat by apache.

the class TestAsyncContextImpl method testAsyncContextListenerClearing.

// https://bz.apache.org/bugzilla/show_bug.cgi?id=57326
@Test
public void testAsyncContextListenerClearing() throws Exception {
    resetTracker();
    // Setup Tomcat instance
    Tomcat tomcat = getTomcatInstance();
    // No file system docBase required
    Context ctx = tomcat.addContext("", null);
    Servlet stage1 = new DispatchingServletTracking("/stage2", true);
    Wrapper wrapper1 = Tomcat.addServlet(ctx, "stage1", stage1);
    wrapper1.setAsyncSupported(true);
    ctx.addServletMappingDecoded("/stage1", "stage1");
    Servlet stage2 = new DispatchingServletTracking("/stage3", false);
    Wrapper wrapper2 = Tomcat.addServlet(ctx, "stage2", stage2);
    wrapper2.setAsyncSupported(true);
    ctx.addServletMappingDecoded("/stage2", "stage2");
    Servlet stage3 = new NonAsyncServlet();
    Tomcat.addServlet(ctx, "stage3", stage3);
    ctx.addServletMappingDecoded("/stage3", "stage3");
    TesterAccessLogValve alv = new TesterAccessLogValve();
    ctx.getPipeline().addValve(alv);
    tomcat.start();
    getUrl("http://localhost:" + getPort() + "/stage1");
    Assert.assertEquals("doGet-startAsync-doGet-startAsync-onStartAsync-NonAsyncServletGet-onComplete-", getTrack());
    // Check the access log
    alv.validateAccessLog(1, 200, 0, REQUEST_TIME);
}
Also used : AsyncContext(jakarta.servlet.AsyncContext) Context(org.apache.catalina.Context) TesterContext(org.apache.tomcat.unittest.TesterContext) Wrapper(org.apache.catalina.Wrapper) ServletResponseWrapper(jakarta.servlet.ServletResponseWrapper) ServletRequestWrapper(jakarta.servlet.ServletRequestWrapper) Tomcat(org.apache.catalina.startup.Tomcat) Servlet(jakarta.servlet.Servlet) GenericServlet(jakarta.servlet.GenericServlet) HttpServlet(jakarta.servlet.http.HttpServlet) TesterAccessLogValve(org.apache.catalina.valves.TesterAccessLogValve) TomcatBaseTest(org.apache.catalina.startup.TomcatBaseTest) Test(org.junit.Test)

Aggregations

Servlet (jakarta.servlet.Servlet)32 Test (org.junit.jupiter.api.Test)11 ServletContext (jakarta.servlet.ServletContext)6 ServletException (jakarta.servlet.ServletException)6 HttpServlet (jakarta.servlet.http.HttpServlet)6 MockServletWebServerFactory (org.springframework.boot.web.servlet.server.MockServletWebServerFactory)6 GenericServlet (jakarta.servlet.GenericServlet)5 IOException (java.io.IOException)5 Context (org.apache.catalina.Context)5 Filter (jakarta.servlet.Filter)4 UnavailableException (jakarta.servlet.UnavailableException)4 Tomcat (org.apache.catalina.startup.Tomcat)4 AsyncContext (jakarta.servlet.AsyncContext)3 ServletRequestWrapper (jakarta.servlet.ServletRequestWrapper)3 ServletResponseWrapper (jakarta.servlet.ServletResponseWrapper)3 HttpServletResponse (jakarta.servlet.http.HttpServletResponse)3 Wrapper (org.apache.catalina.Wrapper)3 ByteChunk (org.apache.tomcat.util.buf.ByteChunk)3 ReflectorServletProcessor (org.atmosphere.handler.ReflectorServletProcessor)3 InOrder (org.mockito.InOrder)3