final class org.apache.catalina.core.ApplicationDispatcher implements org.apache.catalina.AsyncDispatcher, jakarta.servlet.RequestDispatcher
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: org.apache.catalina.core.ApplicationDispatcher
super_class: java.lang.Object
{
private final org.apache.catalina.Context context;
descriptor: Lorg/apache/catalina/Context;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String pathInfo;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String queryString;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String requestURI;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String servletPath;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jakarta.servlet.http.HttpServletMapping mapping;
descriptor: Ljakarta/servlet/http/HttpServletMapping;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final org.apache.tomcat.util.res.StringManager sm;
descriptor: Lorg/apache/tomcat/util/res/StringManager;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final org.apache.catalina.Wrapper wrapper;
descriptor: Lorg/apache/catalina/Wrapper;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "org.apache.catalina.core"
invokestatic org.apache.tomcat.util.res.StringManager.getManager:(Ljava/lang/String;)Lorg/apache/tomcat/util/res/StringManager;
putstatic org.apache.catalina.core.ApplicationDispatcher.sm:Lorg/apache/tomcat/util/res/StringManager;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.apache.catalina.Wrapper, java.lang.String, java.lang.String, java.lang.String, java.lang.String, jakarta.servlet.http.HttpServletMapping, java.lang.String);
descriptor: (Lorg/apache/catalina/Wrapper;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljakarta/servlet/http/HttpServletMapping;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=8, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
2: aload 0
aload 1
invokeinterface org.apache.catalina.Wrapper.getParent:()Lorg/apache/catalina/Container;
checkcast org.apache.catalina.Context
putfield org.apache.catalina.core.ApplicationDispatcher.context:Lorg/apache/catalina/Context;
3: aload 0
aload 2
putfield org.apache.catalina.core.ApplicationDispatcher.requestURI:Ljava/lang/String;
4: aload 0
aload 3
putfield org.apache.catalina.core.ApplicationDispatcher.servletPath:Ljava/lang/String;
5: aload 0
aload 4
putfield org.apache.catalina.core.ApplicationDispatcher.pathInfo:Ljava/lang/String;
6: aload 0
aload 5
putfield org.apache.catalina.core.ApplicationDispatcher.queryString:Ljava/lang/String;
7: aload 0
aload 6
putfield org.apache.catalina.core.ApplicationDispatcher.mapping:Ljakarta/servlet/http/HttpServletMapping;
8: aload 0
aload 7
putfield org.apache.catalina.core.ApplicationDispatcher.name:Ljava/lang/String;
9: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/apache/catalina/core/ApplicationDispatcher;
0 10 1 wrapper Lorg/apache/catalina/Wrapper;
0 10 2 requestURI Ljava/lang/String;
0 10 3 servletPath Ljava/lang/String;
0 10 4 pathInfo Ljava/lang/String;
0 10 5 queryString Ljava/lang/String;
0 10 6 mapping Ljakarta/servlet/http/HttpServletMapping;
0 10 7 name Ljava/lang/String;
MethodParameters:
Name Flags
wrapper
requestURI
servletPath
pathInfo
queryString
mapping
name
public void forward(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse);
descriptor: (Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.apache.catalina.Globals.IS_SECURITY_ENABLED:Z
ifeq 9
1: new org.apache.catalina.core.ApplicationDispatcher$PrivilegedForward
dup
aload 0
aload 1
aload 2
invokespecial org.apache.catalina.core.ApplicationDispatcher$PrivilegedForward.<init>:(Lorg/apache/catalina/core/ApplicationDispatcher;Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;)V
astore 3
start local 3 2: aload 3
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
pop
end local 3 3: goto 10
StackMap locals:
StackMap stack: java.security.PrivilegedActionException
4: astore 3
start local 3 5: aload 3
invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
astore 4
start local 4 6: aload 4
instanceof jakarta.servlet.ServletException
ifeq 8
7: aload 4
checkcast jakarta.servlet.ServletException
athrow
8: StackMap locals: java.security.PrivilegedActionException java.lang.Exception
StackMap stack:
aload 4
checkcast java.io.IOException
athrow
end local 4 end local 3 9: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.apache.catalina.core.ApplicationDispatcher.doForward:(Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;)V
10: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/catalina/core/ApplicationDispatcher;
0 11 1 request Ljakarta/servlet/ServletRequest;
0 11 2 response Ljakarta/servlet/ServletResponse;
2 3 3 dp Lorg/apache/catalina/core/ApplicationDispatcher$PrivilegedForward;
5 9 3 pe Ljava/security/PrivilegedActionException;
6 9 4 e Ljava/lang/Exception;
Exception table:
from to target type
1 3 4 Class java.security.PrivilegedActionException
Exceptions:
throws jakarta.servlet.ServletException, java.io.IOException
MethodParameters:
Name Flags
request
response
private void doForward(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse);
descriptor: (Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokeinterface jakarta.servlet.ServletResponse.isCommitted:()Z
ifeq 4
1: new java.lang.IllegalStateException
dup
2: getstatic org.apache.catalina.core.ApplicationDispatcher.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "applicationDispatcher.forward.ise"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
3: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 2
invokeinterface jakarta.servlet.ServletResponse.resetBuffer:()V
5: goto 8
StackMap locals:
StackMap stack: java.lang.IllegalStateException
6: astore 3
start local 3 7: aload 3
athrow
end local 3 8: StackMap locals:
StackMap stack:
new org.apache.catalina.core.ApplicationDispatcher$State
dup
aload 1
aload 2
iconst_0
invokespecial org.apache.catalina.core.ApplicationDispatcher$State.<init>:(Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;Z)V
astore 3
start local 3 9: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.context:Lorg/apache/catalina/Context;
invokeinterface org.apache.catalina.Context.getDispatcherWrapsSameObject:()Z
ifeq 11
10: aload 0
aload 1
aload 2
invokevirtual org.apache.catalina.core.ApplicationDispatcher.checkSameObjects:(Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;)V
11: StackMap locals: org.apache.catalina.core.ApplicationDispatcher$State
StackMap stack:
aload 0
aload 3
invokevirtual org.apache.catalina.core.ApplicationDispatcher.wrapResponse:(Lorg/apache/catalina/core/ApplicationDispatcher$State;)Ljakarta/servlet/ServletResponse;
pop
12: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.servletPath:Ljava/lang/String;
ifnonnull 23
aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.pathInfo:Ljava/lang/String;
ifnonnull 23
13: aload 0
aload 3
invokevirtual org.apache.catalina.core.ApplicationDispatcher.wrapRequest:(Lorg/apache/catalina/core/ApplicationDispatcher$State;)Ljakarta/servlet/ServletRequest;
checkcast org.apache.catalina.core.ApplicationHttpRequest
14: astore 4
start local 4 15: aload 3
getfield org.apache.catalina.core.ApplicationDispatcher$State.hrequest:Ljakarta/servlet/http/HttpServletRequest;
astore 5
start local 5 16: aload 4
aload 5
invokeinterface jakarta.servlet.http.HttpServletRequest.getRequestURI:()Ljava/lang/String;
invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setRequestURI:(Ljava/lang/String;)V
17: aload 4
aload 5
invokeinterface jakarta.servlet.http.HttpServletRequest.getContextPath:()Ljava/lang/String;
invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setContextPath:(Ljava/lang/String;)V
18: aload 4
aload 5
invokeinterface jakarta.servlet.http.HttpServletRequest.getServletPath:()Ljava/lang/String;
invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setServletPath:(Ljava/lang/String;)V
19: aload 4
aload 5
invokeinterface jakarta.servlet.http.HttpServletRequest.getPathInfo:()Ljava/lang/String;
invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setPathInfo:(Ljava/lang/String;)V
20: aload 4
aload 5
invokeinterface jakarta.servlet.http.HttpServletRequest.getQueryString:()Ljava/lang/String;
invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setQueryString:(Ljava/lang/String;)V
21: aload 0
aload 1
aload 2
aload 3
invokevirtual org.apache.catalina.core.ApplicationDispatcher.processRequest:(Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;Lorg/apache/catalina/core/ApplicationDispatcher$State;)V
end local 5 end local 4 22: goto 51
23: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual org.apache.catalina.core.ApplicationDispatcher.wrapRequest:(Lorg/apache/catalina/core/ApplicationDispatcher$State;)Ljakarta/servlet/ServletRequest;
checkcast org.apache.catalina.core.ApplicationHttpRequest
astore 4
start local 4 24: aload 3
getfield org.apache.catalina.core.ApplicationDispatcher$State.hrequest:Ljakarta/servlet/http/HttpServletRequest;
astore 5
start local 5 25: aload 5
ldc "jakarta.servlet.forward.request_uri"
invokeinterface jakarta.servlet.http.HttpServletRequest.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
ifnonnull 42
26: aload 4
ldc "jakarta.servlet.forward.request_uri"
27: aload 5
invokeinterface jakarta.servlet.http.HttpServletRequest.getRequestURI:()Ljava/lang/String;
28: invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
29: aload 4
ldc "jakarta.servlet.forward.context_path"
30: aload 5
invokeinterface jakarta.servlet.http.HttpServletRequest.getContextPath:()Ljava/lang/String;
31: invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
32: aload 4
ldc "jakarta.servlet.forward.servlet_path"
33: aload 5
invokeinterface jakarta.servlet.http.HttpServletRequest.getServletPath:()Ljava/lang/String;
34: invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
35: aload 4
ldc "jakarta.servlet.forward.path_info"
36: aload 5
invokeinterface jakarta.servlet.http.HttpServletRequest.getPathInfo:()Ljava/lang/String;
37: invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
38: aload 4
ldc "jakarta.servlet.forward.query_string"
39: aload 5
invokeinterface jakarta.servlet.http.HttpServletRequest.getQueryString:()Ljava/lang/String;
40: invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
41: aload 4
ldc "jakarta.servlet.forward.mapping"
aload 5
invokeinterface jakarta.servlet.http.HttpServletRequest.getHttpServletMapping:()Ljakarta/servlet/http/HttpServletMapping;
invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
42: StackMap locals: org.apache.catalina.core.ApplicationHttpRequest jakarta.servlet.http.HttpServletRequest
StackMap stack:
aload 4
aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.context:Lorg/apache/catalina/Context;
invokeinterface org.apache.catalina.Context.getEncodedPath:()Ljava/lang/String;
invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setContextPath:(Ljava/lang/String;)V
43: aload 4
aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.requestURI:Ljava/lang/String;
invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setRequestURI:(Ljava/lang/String;)V
44: aload 4
aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.servletPath:Ljava/lang/String;
invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setServletPath:(Ljava/lang/String;)V
45: aload 4
aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.pathInfo:Ljava/lang/String;
invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setPathInfo:(Ljava/lang/String;)V
46: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.queryString:Ljava/lang/String;
ifnull 49
47: aload 4
aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.queryString:Ljava/lang/String;
invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setQueryString:(Ljava/lang/String;)V
48: aload 4
aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.queryString:Ljava/lang/String;
invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setQueryParams:(Ljava/lang/String;)V
49: StackMap locals:
StackMap stack:
aload 4
aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.mapping:Ljakarta/servlet/http/HttpServletMapping;
invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setMapping:(Ljakarta/servlet/http/HttpServletMapping;)V
50: aload 0
aload 1
aload 2
aload 3
invokevirtual org.apache.catalina.core.ApplicationDispatcher.processRequest:(Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;Lorg/apache/catalina/core/ApplicationDispatcher$State;)V
end local 5 end local 4 51: StackMap locals:
StackMap stack:
aload 1
invokeinterface jakarta.servlet.ServletRequest.isAsyncStarted:()Z
ifeq 53
52: return
53: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
invokeinterface org.apache.catalina.Wrapper.getLogger:()Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 55
54: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
invokeinterface org.apache.catalina.Wrapper.getLogger:()Lorg/apache/juli/logging/Log;
ldc " Disabling the response for further output"
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
55: StackMap locals:
StackMap stack:
aload 2
instanceof org.apache.catalina.connector.ResponseFacade
ifeq 58
56: aload 2
checkcast org.apache.catalina.connector.ResponseFacade
invokevirtual org.apache.catalina.connector.ResponseFacade.finish:()V
57: goto 72
58: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
invokeinterface org.apache.catalina.Wrapper.getLogger:()Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 62
59: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
invokeinterface org.apache.catalina.Wrapper.getLogger:()Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc " The Response is vehiculed using a wrapper: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
60: aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
61: invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
62: StackMap locals:
StackMap stack:
aload 2
invokeinterface jakarta.servlet.ServletResponse.getWriter:()Ljava/io/PrintWriter;
astore 4
start local 4 63: aload 4
invokevirtual java.io.PrintWriter.close:()V
end local 4 64: goto 72
StackMap locals:
StackMap stack: java.lang.IllegalStateException
65: pop
66: aload 2
invokeinterface jakarta.servlet.ServletResponse.getOutputStream:()Ljakarta/servlet/ServletOutputStream;
astore 4
start local 4 67: aload 4
invokevirtual jakarta.servlet.ServletOutputStream.close:()V
end local 4 68: goto 72
StackMap locals:
StackMap stack: java.lang.IllegalStateException
69: pop
goto 72
70: StackMap locals:
StackMap stack: java.io.IOException
pop
goto 72
71: StackMap locals:
StackMap stack: java.io.IOException
pop
72: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 73 0 this Lorg/apache/catalina/core/ApplicationDispatcher;
0 73 1 request Ljakarta/servlet/ServletRequest;
0 73 2 response Ljakarta/servlet/ServletResponse;
7 8 3 e Ljava/lang/IllegalStateException;
9 73 3 state Lorg/apache/catalina/core/ApplicationDispatcher$State;
15 22 4 wrequest Lorg/apache/catalina/core/ApplicationHttpRequest;
16 22 5 hrequest Ljakarta/servlet/http/HttpServletRequest;
24 51 4 wrequest Lorg/apache/catalina/core/ApplicationHttpRequest;
25 51 5 hrequest Ljakarta/servlet/http/HttpServletRequest;
63 64 4 writer Ljava/io/PrintWriter;
67 68 4 stream Ljakarta/servlet/ServletOutputStream;
Exception table:
from to target type
4 5 6 Class java.lang.IllegalStateException
62 64 65 Class java.lang.IllegalStateException
66 68 69 Class java.lang.IllegalStateException
66 68 70 Class java.io.IOException
62 64 71 Class java.io.IOException
Exceptions:
throws jakarta.servlet.ServletException, java.io.IOException
MethodParameters:
Name Flags
request
response
private void processRequest(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse, org.apache.catalina.core.ApplicationDispatcher$State);
descriptor: (Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;Lorg/apache/catalina/core/ApplicationDispatcher$State;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ldc "org.apache.catalina.core.DISPATCHER_TYPE"
invokeinterface jakarta.servlet.ServletRequest.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
checkcast jakarta.servlet.DispatcherType
astore 4
start local 4 1: aload 4
ifnull 21
2: iconst_1
istore 5
start local 5 3: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.context:Lorg/apache/catalina/Context;
invokeinterface org.apache.catalina.Context.getFireRequestListenersOnForwards:()Z
ifeq 6
4: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.context:Lorg/apache/catalina/Context;
aload 1
invokeinterface org.apache.catalina.Context.fireRequestInitEvent:(Ljakarta/servlet/ServletRequest;)Z
ifne 6
5: iconst_0
istore 5
6: StackMap locals: jakarta.servlet.DispatcherType int
StackMap stack:
iload 5
ifeq 21
7: aload 4
getstatic jakarta.servlet.DispatcherType.ERROR:Ljakarta/servlet/DispatcherType;
if_acmpeq 18
8: aload 3
getfield org.apache.catalina.core.ApplicationDispatcher$State.outerRequest:Ljakarta/servlet/ServletRequest;
9: ldc "org.apache.catalina.core.DISPATCHER_REQUEST_PATH"
10: aload 0
invokevirtual org.apache.catalina.core.ApplicationDispatcher.getCombinedPath:()Ljava/lang/String;
11: invokeinterface jakarta.servlet.ServletRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
12: aload 3
getfield org.apache.catalina.core.ApplicationDispatcher$State.outerRequest:Ljakarta/servlet/ServletRequest;
13: ldc "org.apache.catalina.core.DISPATCHER_TYPE"
14: getstatic jakarta.servlet.DispatcherType.FORWARD:Ljakarta/servlet/DispatcherType;
15: invokeinterface jakarta.servlet.ServletRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
16: aload 0
aload 3
getfield org.apache.catalina.core.ApplicationDispatcher$State.outerRequest:Ljakarta/servlet/ServletRequest;
aload 2
aload 3
invokevirtual org.apache.catalina.core.ApplicationDispatcher.invoke:(Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;Lorg/apache/catalina/core/ApplicationDispatcher$State;)V
17: goto 19
18: StackMap locals:
StackMap stack:
aload 0
aload 3
getfield org.apache.catalina.core.ApplicationDispatcher$State.outerRequest:Ljakarta/servlet/ServletRequest;
aload 2
aload 3
invokevirtual org.apache.catalina.core.ApplicationDispatcher.invoke:(Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;Lorg/apache/catalina/core/ApplicationDispatcher$State;)V
19: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.context:Lorg/apache/catalina/Context;
invokeinterface org.apache.catalina.Context.getFireRequestListenersOnForwards:()Z
ifeq 21
20: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.context:Lorg/apache/catalina/Context;
aload 1
invokeinterface org.apache.catalina.Context.fireRequestDestroyEvent:(Ljakarta/servlet/ServletRequest;)Z
pop
end local 5 21: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/apache/catalina/core/ApplicationDispatcher;
0 22 1 request Ljakarta/servlet/ServletRequest;
0 22 2 response Ljakarta/servlet/ServletResponse;
0 22 3 state Lorg/apache/catalina/core/ApplicationDispatcher$State;
1 22 4 disInt Ljakarta/servlet/DispatcherType;
3 21 5 doInvoke Z
Exceptions:
throws java.io.IOException, jakarta.servlet.ServletException
MethodParameters:
Name Flags
request
response
state
private java.lang.String getCombinedPath();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.servletPath:Ljava/lang/String;
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.pathInfo:Ljava/lang/String;
ifnonnull 4
3: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.servletPath:Ljava/lang/String;
areturn
4: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.servletPath:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.pathInfo:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/catalina/core/ApplicationDispatcher;
public void include(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse);
descriptor: (Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.apache.catalina.Globals.IS_SECURITY_ENABLED:Z
ifeq 9
1: new org.apache.catalina.core.ApplicationDispatcher$PrivilegedInclude
dup
aload 0
aload 1
aload 2
invokespecial org.apache.catalina.core.ApplicationDispatcher$PrivilegedInclude.<init>:(Lorg/apache/catalina/core/ApplicationDispatcher;Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;)V
astore 3
start local 3 2: aload 3
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
pop
end local 3 3: goto 10
StackMap locals:
StackMap stack: java.security.PrivilegedActionException
4: astore 3
start local 3 5: aload 3
invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
astore 4
start local 4 6: aload 4
instanceof jakarta.servlet.ServletException
ifeq 8
7: aload 4
checkcast jakarta.servlet.ServletException
athrow
8: StackMap locals: java.security.PrivilegedActionException java.lang.Exception
StackMap stack:
aload 4
checkcast java.io.IOException
athrow
end local 4 end local 3 9: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.apache.catalina.core.ApplicationDispatcher.doInclude:(Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;)V
10: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/catalina/core/ApplicationDispatcher;
0 11 1 request Ljakarta/servlet/ServletRequest;
0 11 2 response Ljakarta/servlet/ServletResponse;
2 3 3 dp Lorg/apache/catalina/core/ApplicationDispatcher$PrivilegedInclude;
5 9 3 pe Ljava/security/PrivilegedActionException;
6 9 4 e Ljava/lang/Exception;
Exception table:
from to target type
1 3 4 Class java.security.PrivilegedActionException
Exceptions:
throws jakarta.servlet.ServletException, java.io.IOException
MethodParameters:
Name Flags
request
response
private void doInclude(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse);
descriptor: (Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: new org.apache.catalina.core.ApplicationDispatcher$State
dup
aload 1
aload 2
iconst_1
invokespecial org.apache.catalina.core.ApplicationDispatcher$State.<init>:(Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;Z)V
astore 3
start local 3 1: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.context:Lorg/apache/catalina/Context;
invokeinterface org.apache.catalina.Context.getDispatcherWrapsSameObject:()Z
ifeq 3
2: aload 0
aload 1
aload 2
invokevirtual org.apache.catalina.core.ApplicationDispatcher.checkSameObjects:(Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;)V
3: StackMap locals: org.apache.catalina.core.ApplicationDispatcher$State
StackMap stack:
aload 0
aload 3
invokevirtual org.apache.catalina.core.ApplicationDispatcher.wrapResponse:(Lorg/apache/catalina/core/ApplicationDispatcher$State;)Ljakarta/servlet/ServletResponse;
pop
4: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.name:Ljava/lang/String;
ifnull 18
5: aload 0
aload 3
invokevirtual org.apache.catalina.core.ApplicationDispatcher.wrapRequest:(Lorg/apache/catalina/core/ApplicationDispatcher$State;)Ljakarta/servlet/ServletRequest;
checkcast org.apache.catalina.core.ApplicationHttpRequest
6: astore 4
start local 4 7: aload 4
ldc "org.apache.catalina.NAMED"
aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.name:Ljava/lang/String;
invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
8: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.servletPath:Ljava/lang/String;
ifnull 10
9: aload 4
aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.servletPath:Ljava/lang/String;
invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setServletPath:(Ljava/lang/String;)V
10: StackMap locals: org.apache.catalina.core.ApplicationHttpRequest
StackMap stack:
aload 4
ldc "org.apache.catalina.core.DISPATCHER_TYPE"
11: getstatic jakarta.servlet.DispatcherType.INCLUDE:Ljakarta/servlet/DispatcherType;
12: invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
13: aload 4
ldc "org.apache.catalina.core.DISPATCHER_REQUEST_PATH"
14: aload 0
invokevirtual org.apache.catalina.core.ApplicationDispatcher.getCombinedPath:()Ljava/lang/String;
15: invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
16: aload 0
aload 3
getfield org.apache.catalina.core.ApplicationDispatcher$State.outerRequest:Ljakarta/servlet/ServletRequest;
aload 3
getfield org.apache.catalina.core.ApplicationDispatcher$State.outerResponse:Ljakarta/servlet/ServletResponse;
aload 3
invokevirtual org.apache.catalina.core.ApplicationDispatcher.invoke:(Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;Lorg/apache/catalina/core/ApplicationDispatcher$State;)V
end local 4 17: goto 51
18: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual org.apache.catalina.core.ApplicationDispatcher.wrapRequest:(Lorg/apache/catalina/core/ApplicationDispatcher$State;)Ljakarta/servlet/ServletRequest;
checkcast org.apache.catalina.core.ApplicationHttpRequest
19: astore 4
start local 4 20: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.context:Lorg/apache/catalina/Context;
invokeinterface org.apache.catalina.Context.getPath:()Ljava/lang/String;
astore 5
start local 5 21: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.requestURI:Ljava/lang/String;
ifnull 25
22: aload 4
ldc "jakarta.servlet.include.request_uri"
23: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.requestURI:Ljava/lang/String;
24: invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
25: StackMap locals: org.apache.catalina.core.ApplicationHttpRequest java.lang.String
StackMap stack:
aload 5
ifnull 29
26: aload 4
ldc "jakarta.servlet.include.context_path"
27: aload 5
28: invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
29: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.servletPath:Ljava/lang/String;
ifnull 33
30: aload 4
ldc "jakarta.servlet.include.servlet_path"
31: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.servletPath:Ljava/lang/String;
32: invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
33: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.pathInfo:Ljava/lang/String;
ifnull 37
34: aload 4
ldc "jakarta.servlet.include.path_info"
35: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.pathInfo:Ljava/lang/String;
36: invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
37: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.queryString:Ljava/lang/String;
ifnull 42
38: aload 4
ldc "jakarta.servlet.include.query_string"
39: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.queryString:Ljava/lang/String;
40: invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
41: aload 4
aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.queryString:Ljava/lang/String;
invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setQueryParams:(Ljava/lang/String;)V
42: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.mapping:Ljakarta/servlet/http/HttpServletMapping;
ifnull 44
43: aload 4
ldc "jakarta.servlet.include.mapping"
aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.mapping:Ljakarta/servlet/http/HttpServletMapping;
invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
44: StackMap locals:
StackMap stack:
aload 4
ldc "org.apache.catalina.core.DISPATCHER_TYPE"
45: getstatic jakarta.servlet.DispatcherType.INCLUDE:Ljakarta/servlet/DispatcherType;
46: invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
47: aload 4
ldc "org.apache.catalina.core.DISPATCHER_REQUEST_PATH"
48: aload 0
invokevirtual org.apache.catalina.core.ApplicationDispatcher.getCombinedPath:()Ljava/lang/String;
49: invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
50: aload 0
aload 3
getfield org.apache.catalina.core.ApplicationDispatcher$State.outerRequest:Ljakarta/servlet/ServletRequest;
aload 3
getfield org.apache.catalina.core.ApplicationDispatcher$State.outerResponse:Ljakarta/servlet/ServletResponse;
aload 3
invokevirtual org.apache.catalina.core.ApplicationDispatcher.invoke:(Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;Lorg/apache/catalina/core/ApplicationDispatcher$State;)V
end local 5 end local 4 51: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 52 0 this Lorg/apache/catalina/core/ApplicationDispatcher;
0 52 1 request Ljakarta/servlet/ServletRequest;
0 52 2 response Ljakarta/servlet/ServletResponse;
1 52 3 state Lorg/apache/catalina/core/ApplicationDispatcher$State;
7 17 4 wrequest Lorg/apache/catalina/core/ApplicationHttpRequest;
20 51 4 wrequest Lorg/apache/catalina/core/ApplicationHttpRequest;
21 51 5 contextPath Ljava/lang/String;
Exceptions:
throws jakarta.servlet.ServletException, java.io.IOException
MethodParameters:
Name Flags
request
response
public void dispatch(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse);
descriptor: (Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.apache.catalina.Globals.IS_SECURITY_ENABLED:Z
ifeq 9
1: new org.apache.catalina.core.ApplicationDispatcher$PrivilegedDispatch
dup
aload 0
aload 1
aload 2
invokespecial org.apache.catalina.core.ApplicationDispatcher$PrivilegedDispatch.<init>:(Lorg/apache/catalina/core/ApplicationDispatcher;Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;)V
astore 3
start local 3 2: aload 3
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
pop
end local 3 3: goto 10
StackMap locals:
StackMap stack: java.security.PrivilegedActionException
4: astore 3
start local 3 5: aload 3
invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
astore 4
start local 4 6: aload 4
instanceof jakarta.servlet.ServletException
ifeq 8
7: aload 4
checkcast jakarta.servlet.ServletException
athrow
8: StackMap locals: java.security.PrivilegedActionException java.lang.Exception
StackMap stack:
aload 4
checkcast java.io.IOException
athrow
end local 4 end local 3 9: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.apache.catalina.core.ApplicationDispatcher.doDispatch:(Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;)V
10: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/catalina/core/ApplicationDispatcher;
0 11 1 request Ljakarta/servlet/ServletRequest;
0 11 2 response Ljakarta/servlet/ServletResponse;
2 3 3 dp Lorg/apache/catalina/core/ApplicationDispatcher$PrivilegedDispatch;
5 9 3 pe Ljava/security/PrivilegedActionException;
6 9 4 e Ljava/lang/Exception;
Exception table:
from to target type
1 3 4 Class java.security.PrivilegedActionException
Exceptions:
throws jakarta.servlet.ServletException, java.io.IOException
MethodParameters:
Name Flags
request
response
private void doDispatch(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse);
descriptor: (Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: new org.apache.catalina.core.ApplicationDispatcher$State
dup
aload 1
aload 2
iconst_0
invokespecial org.apache.catalina.core.ApplicationDispatcher$State.<init>:(Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;Z)V
astore 3
start local 3 1: aload 0
aload 3
invokevirtual org.apache.catalina.core.ApplicationDispatcher.wrapResponse:(Lorg/apache/catalina/core/ApplicationDispatcher$State;)Ljakarta/servlet/ServletResponse;
pop
2: aload 0
aload 3
invokevirtual org.apache.catalina.core.ApplicationDispatcher.wrapRequest:(Lorg/apache/catalina/core/ApplicationDispatcher$State;)Ljakarta/servlet/ServletRequest;
checkcast org.apache.catalina.core.ApplicationHttpRequest
astore 4
start local 4 3: aload 3
getfield org.apache.catalina.core.ApplicationDispatcher$State.hrequest:Ljakarta/servlet/http/HttpServletRequest;
astore 5
start local 5 4: aload 4
ldc "org.apache.catalina.core.DISPATCHER_TYPE"
getstatic jakarta.servlet.DispatcherType.ASYNC:Ljakarta/servlet/DispatcherType;
invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
5: aload 4
ldc "org.apache.catalina.core.DISPATCHER_REQUEST_PATH"
aload 0
invokevirtual org.apache.catalina.core.ApplicationDispatcher.getCombinedPath:()Ljava/lang/String;
invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
6: aload 4
ldc "jakarta.servlet.async.mapping"
aload 5
invokeinterface jakarta.servlet.http.HttpServletRequest.getHttpServletMapping:()Ljakarta/servlet/http/HttpServletMapping;
invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
7: aload 4
aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.context:Lorg/apache/catalina/Context;
invokeinterface org.apache.catalina.Context.getEncodedPath:()Ljava/lang/String;
invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setContextPath:(Ljava/lang/String;)V
8: aload 4
aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.requestURI:Ljava/lang/String;
invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setRequestURI:(Ljava/lang/String;)V
9: aload 4
aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.servletPath:Ljava/lang/String;
invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setServletPath:(Ljava/lang/String;)V
10: aload 4
aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.pathInfo:Ljava/lang/String;
invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setPathInfo:(Ljava/lang/String;)V
11: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.queryString:Ljava/lang/String;
ifnull 14
12: aload 4
aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.queryString:Ljava/lang/String;
invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setQueryString:(Ljava/lang/String;)V
13: aload 4
aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.queryString:Ljava/lang/String;
invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setQueryParams:(Ljava/lang/String;)V
14: StackMap locals: org.apache.catalina.core.ApplicationDispatcher$State org.apache.catalina.core.ApplicationHttpRequest jakarta.servlet.http.HttpServletRequest
StackMap stack:
getstatic org.apache.catalina.Globals.STRICT_SERVLET_COMPLIANCE:Z
ifne 16
15: aload 4
aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.mapping:Ljakarta/servlet/http/HttpServletMapping;
invokevirtual org.apache.catalina.core.ApplicationHttpRequest.setMapping:(Ljakarta/servlet/http/HttpServletMapping;)V
16: StackMap locals:
StackMap stack:
aload 0
aload 3
getfield org.apache.catalina.core.ApplicationDispatcher$State.outerRequest:Ljakarta/servlet/ServletRequest;
aload 3
getfield org.apache.catalina.core.ApplicationDispatcher$State.outerResponse:Ljakarta/servlet/ServletResponse;
aload 3
invokevirtual org.apache.catalina.core.ApplicationDispatcher.invoke:(Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;Lorg/apache/catalina/core/ApplicationDispatcher$State;)V
17: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/apache/catalina/core/ApplicationDispatcher;
0 18 1 request Ljakarta/servlet/ServletRequest;
0 18 2 response Ljakarta/servlet/ServletResponse;
1 18 3 state Lorg/apache/catalina/core/ApplicationDispatcher$State;
3 18 4 wrequest Lorg/apache/catalina/core/ApplicationHttpRequest;
4 18 5 hrequest Ljakarta/servlet/http/HttpServletRequest;
Exceptions:
throws jakarta.servlet.ServletException, java.io.IOException
MethodParameters:
Name Flags
request
response
private void invoke(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse, org.apache.catalina.core.ApplicationDispatcher$State);
descriptor: (Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;Lorg/apache/catalina/core/ApplicationDispatcher$State;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=14, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.context:Lorg/apache/catalina/Context;
iconst_0
aconst_null
invokeinterface org.apache.catalina.Context.bind:(ZLjava/lang/ClassLoader;)Ljava/lang/ClassLoader;
astore 4
start local 4 1: aload 3
getfield org.apache.catalina.core.ApplicationDispatcher$State.hresponse:Ljakarta/servlet/http/HttpServletResponse;
astore 5
start local 5 2: aconst_null
astore 6
start local 6 3: aconst_null
astore 7
start local 7 4: aconst_null
astore 8
start local 8 5: aconst_null
astore 9
start local 9 6: iconst_0
istore 10
start local 10 7: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
invokeinterface org.apache.catalina.Wrapper.isUnavailable:()Z
ifeq 22
8: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
invokeinterface org.apache.catalina.Wrapper.getLogger:()Lorg/apache/juli/logging/Log;
9: getstatic org.apache.catalina.core.ApplicationDispatcher.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "applicationDispatcher.isUnavailable"
iconst_1
anewarray java.lang.Object
dup
iconst_0
10: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
invokeinterface org.apache.catalina.Wrapper.getName:()Ljava/lang/String;
aastore
11: invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
12: invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;)V
13: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
invokeinterface org.apache.catalina.Wrapper.getAvailable:()J
lstore 11
start local 11 14: lload 11
lconst_0
lcmp
ifle 16
lload 11
ldc 9223372036854775807
lcmp
ifge 16
15: aload 5
ldc "Retry-After"
lload 11
invokeinterface jakarta.servlet.http.HttpServletResponse.setDateHeader:(Ljava/lang/String;J)V
16: StackMap locals: org.apache.catalina.core.ApplicationDispatcher jakarta.servlet.ServletRequest jakarta.servlet.ServletResponse org.apache.catalina.core.ApplicationDispatcher$State java.lang.ClassLoader jakarta.servlet.http.HttpServletResponse jakarta.servlet.Servlet java.io.IOException jakarta.servlet.ServletException java.lang.RuntimeException int long
StackMap stack:
aload 5
sipush 503
getstatic org.apache.catalina.core.ApplicationDispatcher.sm:Lorg/apache/tomcat/util/res/StringManager;
17: ldc "applicationDispatcher.isUnavailable"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
18: invokeinterface org.apache.catalina.Wrapper.getName:()Ljava/lang/String;
aastore
19: invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
20: invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(ILjava/lang/String;)V
21: iconst_1
istore 10
end local 11 22: StackMap locals:
StackMap stack:
iload 10
ifne 47
23: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
invokeinterface org.apache.catalina.Wrapper.allocate:()Ljakarta/servlet/Servlet;
astore 6
24: goto 47
StackMap locals:
StackMap stack: jakarta.servlet.ServletException
25: astore 11
start local 11 26: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
invokeinterface org.apache.catalina.Wrapper.getLogger:()Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.core.ApplicationDispatcher.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "applicationDispatcher.allocateException"
iconst_1
anewarray java.lang.Object
dup
iconst_0
27: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
invokeinterface org.apache.catalina.Wrapper.getName:()Ljava/lang/String;
aastore
28: invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
29: aload 11
invokestatic org.apache.catalina.core.StandardWrapper.getRootCause:(Ljakarta/servlet/ServletException;)Ljava/lang/Throwable;
30: invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
31: aload 11
astore 8
end local 11 32: goto 47
33: StackMap locals:
StackMap stack: java.lang.Throwable
astore 11
start local 11 34: aload 11
invokestatic org.apache.tomcat.util.ExceptionUtils.handleThrowable:(Ljava/lang/Throwable;)V
35: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
invokeinterface org.apache.catalina.Wrapper.getLogger:()Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.core.ApplicationDispatcher.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "applicationDispatcher.allocateException"
iconst_1
anewarray java.lang.Object
dup
iconst_0
36: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
invokeinterface org.apache.catalina.Wrapper.getName:()Ljava/lang/String;
aastore
37: invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
38: aload 11
39: invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
40: new jakarta.servlet.ServletException
dup
41: getstatic org.apache.catalina.core.ApplicationDispatcher.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "applicationDispatcher.allocateException"
iconst_1
anewarray java.lang.Object
dup
iconst_0
42: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
invokeinterface org.apache.catalina.Wrapper.getName:()Ljava/lang/String;
aastore
43: invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
44: aload 11
45: invokespecial jakarta.servlet.ServletException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
astore 8
46: aconst_null
astore 6
end local 11 47: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
aload 6
invokestatic org.apache.catalina.core.ApplicationFilterFactory.createFilterChain:(Ljakarta/servlet/ServletRequest;Lorg/apache/catalina/Wrapper;Ljakarta/servlet/Servlet;)Lorg/apache/catalina/core/ApplicationFilterChain;
48: astore 11
start local 11 49: aload 6
ifnull 89
aload 11
ifnull 89
50: aload 11
aload 1
aload 2
invokevirtual org.apache.catalina.core.ApplicationFilterChain.doFilter:(Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;)V
51: goto 89
StackMap locals: org.apache.catalina.core.ApplicationDispatcher jakarta.servlet.ServletRequest jakarta.servlet.ServletResponse org.apache.catalina.core.ApplicationDispatcher$State java.lang.ClassLoader jakarta.servlet.http.HttpServletResponse jakarta.servlet.Servlet java.io.IOException jakarta.servlet.ServletException java.lang.RuntimeException int org.apache.catalina.core.ApplicationFilterChain
StackMap stack: org.apache.catalina.connector.ClientAbortException
52: astore 12
start local 12 53: aload 12
astore 7
end local 12 54: goto 89
55: StackMap locals:
StackMap stack: java.io.IOException
astore 12
start local 12 56: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
invokeinterface org.apache.catalina.Wrapper.getLogger:()Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.core.ApplicationDispatcher.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "applicationDispatcher.serviceException"
iconst_1
anewarray java.lang.Object
dup
iconst_0
57: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
invokeinterface org.apache.catalina.Wrapper.getName:()Ljava/lang/String;
aastore
58: invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
59: aload 12
60: invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
61: aload 12
astore 7
end local 12 62: goto 89
63: StackMap locals:
StackMap stack: jakarta.servlet.UnavailableException
astore 12
start local 12 64: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
invokeinterface org.apache.catalina.Wrapper.getLogger:()Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.core.ApplicationDispatcher.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "applicationDispatcher.serviceException"
iconst_1
anewarray java.lang.Object
dup
iconst_0
65: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
invokeinterface org.apache.catalina.Wrapper.getName:()Ljava/lang/String;
aastore
66: invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
67: aload 12
68: invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
69: aload 12
astore 8
70: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
aload 12
invokeinterface org.apache.catalina.Wrapper.unavailable:(Ljakarta/servlet/UnavailableException;)V
end local 12 71: goto 89
72: StackMap locals:
StackMap stack: jakarta.servlet.ServletException
astore 12
start local 12 73: aload 12
invokestatic org.apache.catalina.core.StandardWrapper.getRootCause:(Ljakarta/servlet/ServletException;)Ljava/lang/Throwable;
astore 13
start local 13 74: aload 13
instanceof org.apache.catalina.connector.ClientAbortException
ifne 80
75: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
invokeinterface org.apache.catalina.Wrapper.getLogger:()Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.core.ApplicationDispatcher.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "applicationDispatcher.serviceException"
iconst_1
anewarray java.lang.Object
dup
iconst_0
76: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
invokeinterface org.apache.catalina.Wrapper.getName:()Ljava/lang/String;
aastore
77: invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
78: aload 13
79: invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
80: StackMap locals: jakarta.servlet.ServletException java.lang.Throwable
StackMap stack:
aload 12
astore 8
end local 13 end local 12 81: goto 89
82: StackMap locals: org.apache.catalina.core.ApplicationDispatcher jakarta.servlet.ServletRequest jakarta.servlet.ServletResponse org.apache.catalina.core.ApplicationDispatcher$State java.lang.ClassLoader jakarta.servlet.http.HttpServletResponse jakarta.servlet.Servlet java.io.IOException jakarta.servlet.ServletException java.lang.RuntimeException int org.apache.catalina.core.ApplicationFilterChain
StackMap stack: java.lang.RuntimeException
astore 12
start local 12 83: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
invokeinterface org.apache.catalina.Wrapper.getLogger:()Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.core.ApplicationDispatcher.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "applicationDispatcher.serviceException"
iconst_1
anewarray java.lang.Object
dup
iconst_0
84: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
invokeinterface org.apache.catalina.Wrapper.getName:()Ljava/lang/String;
aastore
85: invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
86: aload 12
87: invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
88: aload 12
astore 9
end local 12 89: StackMap locals:
StackMap stack:
aload 11
ifnull 91
90: aload 11
invokevirtual org.apache.catalina.core.ApplicationFilterChain.release:()V
91: StackMap locals:
StackMap stack:
aload 6
ifnull 115
92: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
aload 6
invokeinterface org.apache.catalina.Wrapper.deallocate:(Ljakarta/servlet/Servlet;)V
93: goto 115
StackMap locals:
StackMap stack: jakarta.servlet.ServletException
94: astore 12
start local 12 95: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
invokeinterface org.apache.catalina.Wrapper.getLogger:()Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.core.ApplicationDispatcher.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "applicationDispatcher.deallocateException"
iconst_1
anewarray java.lang.Object
dup
iconst_0
96: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
invokeinterface org.apache.catalina.Wrapper.getName:()Ljava/lang/String;
aastore
97: invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
98: aload 12
99: invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
100: aload 12
astore 8
end local 12 101: goto 115
102: StackMap locals:
StackMap stack: java.lang.Throwable
astore 12
start local 12 103: aload 12
invokestatic org.apache.tomcat.util.ExceptionUtils.handleThrowable:(Ljava/lang/Throwable;)V
104: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
invokeinterface org.apache.catalina.Wrapper.getLogger:()Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.core.ApplicationDispatcher.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "applicationDispatcher.deallocateException"
iconst_1
anewarray java.lang.Object
dup
iconst_0
105: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
invokeinterface org.apache.catalina.Wrapper.getName:()Ljava/lang/String;
aastore
106: invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
107: aload 12
108: invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
109: new jakarta.servlet.ServletException
dup
110: getstatic org.apache.catalina.core.ApplicationDispatcher.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "applicationDispatcher.deallocateException"
iconst_1
anewarray java.lang.Object
dup
iconst_0
111: aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.wrapper:Lorg/apache/catalina/Wrapper;
invokeinterface org.apache.catalina.Wrapper.getName:()Ljava/lang/String;
aastore
112: invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
113: aload 12
114: invokespecial jakarta.servlet.ServletException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
astore 8
end local 12 115: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.context:Lorg/apache/catalina/Context;
iconst_0
aload 4
invokeinterface org.apache.catalina.Context.unbind:(ZLjava/lang/ClassLoader;)V
116: aload 0
aload 3
invokevirtual org.apache.catalina.core.ApplicationDispatcher.unwrapRequest:(Lorg/apache/catalina/core/ApplicationDispatcher$State;)V
117: aload 0
aload 3
invokevirtual org.apache.catalina.core.ApplicationDispatcher.unwrapResponse:(Lorg/apache/catalina/core/ApplicationDispatcher$State;)V
118: aload 0
aload 3
invokevirtual org.apache.catalina.core.ApplicationDispatcher.recycleRequestWrapper:(Lorg/apache/catalina/core/ApplicationDispatcher$State;)V
119: aload 7
ifnull 121
120: aload 7
athrow
121: StackMap locals:
StackMap stack:
aload 8
ifnull 123
122: aload 8
athrow
123: StackMap locals:
StackMap stack:
aload 9
ifnull 125
124: aload 9
athrow
125: StackMap locals:
StackMap stack:
return
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 126 0 this Lorg/apache/catalina/core/ApplicationDispatcher;
0 126 1 request Ljakarta/servlet/ServletRequest;
0 126 2 response Ljakarta/servlet/ServletResponse;
0 126 3 state Lorg/apache/catalina/core/ApplicationDispatcher$State;
1 126 4 oldCCL Ljava/lang/ClassLoader;
2 126 5 hresponse Ljakarta/servlet/http/HttpServletResponse;
3 126 6 servlet Ljakarta/servlet/Servlet;
4 126 7 ioException Ljava/io/IOException;
5 126 8 servletException Ljakarta/servlet/ServletException;
6 126 9 runtimeException Ljava/lang/RuntimeException;
7 126 10 unavailable Z
14 22 11 available J
26 32 11 e Ljakarta/servlet/ServletException;
34 47 11 e Ljava/lang/Throwable;
49 126 11 filterChain Lorg/apache/catalina/core/ApplicationFilterChain;
53 54 12 e Lorg/apache/catalina/connector/ClientAbortException;
56 62 12 e Ljava/io/IOException;
64 71 12 e Ljakarta/servlet/UnavailableException;
73 81 12 e Ljakarta/servlet/ServletException;
74 81 13 rootCause Ljava/lang/Throwable;
83 89 12 e Ljava/lang/RuntimeException;
95 101 12 e Ljakarta/servlet/ServletException;
103 115 12 e Ljava/lang/Throwable;
Exception table:
from to target type
22 24 25 Class jakarta.servlet.ServletException
22 24 33 Class java.lang.Throwable
49 51 52 Class org.apache.catalina.connector.ClientAbortException
49 51 55 Class java.io.IOException
49 51 63 Class jakarta.servlet.UnavailableException
49 51 72 Class jakarta.servlet.ServletException
49 51 82 Class java.lang.RuntimeException
91 93 94 Class jakarta.servlet.ServletException
91 93 102 Class java.lang.Throwable
Exceptions:
throws java.io.IOException, jakarta.servlet.ServletException
MethodParameters:
Name Flags
request
response
state
private void unwrapRequest(org.apache.catalina.core.ApplicationDispatcher$State);
descriptor: (Lorg/apache/catalina/core/ApplicationDispatcher$State;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 1
getfield org.apache.catalina.core.ApplicationDispatcher$State.wrapRequest:Ljakarta/servlet/ServletRequest;
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
getfield org.apache.catalina.core.ApplicationDispatcher$State.outerRequest:Ljakarta/servlet/ServletRequest;
invokeinterface jakarta.servlet.ServletRequest.isAsyncStarted:()Z
ifeq 5
3: aload 1
getfield org.apache.catalina.core.ApplicationDispatcher$State.outerRequest:Ljakarta/servlet/ServletRequest;
invokeinterface jakarta.servlet.ServletRequest.getAsyncContext:()Ljakarta/servlet/AsyncContext;
invokeinterface jakarta.servlet.AsyncContext.hasOriginalRequestAndResponse:()Z
ifne 5
4: return
5: StackMap locals:
StackMap stack:
aconst_null
astore 2
start local 2 6: aload 1
getfield org.apache.catalina.core.ApplicationDispatcher$State.outerRequest:Ljakarta/servlet/ServletRequest;
astore 3
start local 3 7: goto 20
8: StackMap locals: jakarta.servlet.ServletRequest jakarta.servlet.ServletRequest
StackMap stack:
aload 3
instanceof org.apache.catalina.connector.Request
ifne 21
9: aload 3
instanceof org.apache.catalina.connector.RequestFacade
ifeq 11
10: goto 21
11: StackMap locals:
StackMap stack:
aload 3
aload 1
getfield org.apache.catalina.core.ApplicationDispatcher$State.wrapRequest:Ljakarta/servlet/ServletRequest;
if_acmpne 18
12: aload 3
checkcast jakarta.servlet.ServletRequestWrapper
invokevirtual jakarta.servlet.ServletRequestWrapper.getRequest:()Ljakarta/servlet/ServletRequest;
13: astore 4
start local 4 14: aload 2
ifnonnull 16
15: aload 1
aload 4
putfield org.apache.catalina.core.ApplicationDispatcher$State.outerRequest:Ljakarta/servlet/ServletRequest;
goto 21
16: StackMap locals: jakarta.servlet.ServletRequest
StackMap stack:
aload 2
checkcast jakarta.servlet.ServletRequestWrapper
aload 4
invokevirtual jakarta.servlet.ServletRequestWrapper.setRequest:(Ljakarta/servlet/ServletRequest;)V
17: goto 21
end local 4 18: StackMap locals:
StackMap stack:
aload 3
astore 2
19: aload 3
checkcast jakarta.servlet.ServletRequestWrapper
invokevirtual jakarta.servlet.ServletRequestWrapper.getRequest:()Ljakarta/servlet/ServletRequest;
astore 3
20: StackMap locals:
StackMap stack:
aload 3
ifnonnull 8
21: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/apache/catalina/core/ApplicationDispatcher;
0 22 1 state Lorg/apache/catalina/core/ApplicationDispatcher$State;
6 22 2 previous Ljakarta/servlet/ServletRequest;
7 22 3 current Ljakarta/servlet/ServletRequest;
14 18 4 next Ljakarta/servlet/ServletRequest;
MethodParameters:
Name Flags
state
private void unwrapResponse(org.apache.catalina.core.ApplicationDispatcher$State);
descriptor: (Lorg/apache/catalina/core/ApplicationDispatcher$State;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 1
getfield org.apache.catalina.core.ApplicationDispatcher$State.wrapResponse:Ljakarta/servlet/ServletResponse;
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
getfield org.apache.catalina.core.ApplicationDispatcher$State.outerRequest:Ljakarta/servlet/ServletRequest;
invokeinterface jakarta.servlet.ServletRequest.isAsyncStarted:()Z
ifeq 5
3: aload 1
getfield org.apache.catalina.core.ApplicationDispatcher$State.outerRequest:Ljakarta/servlet/ServletRequest;
invokeinterface jakarta.servlet.ServletRequest.getAsyncContext:()Ljakarta/servlet/AsyncContext;
invokeinterface jakarta.servlet.AsyncContext.hasOriginalRequestAndResponse:()Z
ifne 5
4: return
5: StackMap locals:
StackMap stack:
aconst_null
astore 2
start local 2 6: aload 1
getfield org.apache.catalina.core.ApplicationDispatcher$State.outerResponse:Ljakarta/servlet/ServletResponse;
astore 3
start local 3 7: goto 20
8: StackMap locals: jakarta.servlet.ServletResponse jakarta.servlet.ServletResponse
StackMap stack:
aload 3
instanceof org.apache.catalina.connector.Response
ifne 21
9: aload 3
instanceof org.apache.catalina.connector.ResponseFacade
ifeq 11
10: goto 21
11: StackMap locals:
StackMap stack:
aload 3
aload 1
getfield org.apache.catalina.core.ApplicationDispatcher$State.wrapResponse:Ljakarta/servlet/ServletResponse;
if_acmpne 18
12: aload 3
checkcast jakarta.servlet.ServletResponseWrapper
invokevirtual jakarta.servlet.ServletResponseWrapper.getResponse:()Ljakarta/servlet/ServletResponse;
13: astore 4
start local 4 14: aload 2
ifnonnull 16
15: aload 1
aload 4
putfield org.apache.catalina.core.ApplicationDispatcher$State.outerResponse:Ljakarta/servlet/ServletResponse;
goto 21
16: StackMap locals: jakarta.servlet.ServletResponse
StackMap stack:
aload 2
checkcast jakarta.servlet.ServletResponseWrapper
aload 4
invokevirtual jakarta.servlet.ServletResponseWrapper.setResponse:(Ljakarta/servlet/ServletResponse;)V
17: goto 21
end local 4 18: StackMap locals:
StackMap stack:
aload 3
astore 2
19: aload 3
checkcast jakarta.servlet.ServletResponseWrapper
invokevirtual jakarta.servlet.ServletResponseWrapper.getResponse:()Ljakarta/servlet/ServletResponse;
astore 3
20: StackMap locals:
StackMap stack:
aload 3
ifnonnull 8
21: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/apache/catalina/core/ApplicationDispatcher;
0 22 1 state Lorg/apache/catalina/core/ApplicationDispatcher$State;
6 22 2 previous Ljakarta/servlet/ServletResponse;
7 22 3 current Ljakarta/servlet/ServletResponse;
14 18 4 next Ljakarta/servlet/ServletResponse;
MethodParameters:
Name Flags
state
private jakarta.servlet.ServletRequest wrapRequest(org.apache.catalina.core.ApplicationDispatcher$State);
descriptor: (Lorg/apache/catalina/core/ApplicationDispatcher$State;)Ljakarta/servlet/ServletRequest;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 1
getfield org.apache.catalina.core.ApplicationDispatcher$State.outerRequest:Ljakarta/servlet/ServletRequest;
astore 3
start local 3 2: goto 13
3: StackMap locals: jakarta.servlet.ServletRequest jakarta.servlet.ServletRequest
StackMap stack:
aload 1
getfield org.apache.catalina.core.ApplicationDispatcher$State.hrequest:Ljakarta/servlet/http/HttpServletRequest;
ifnonnull 5
aload 3
instanceof jakarta.servlet.http.HttpServletRequest
ifeq 5
4: aload 1
aload 3
checkcast jakarta.servlet.http.HttpServletRequest
putfield org.apache.catalina.core.ApplicationDispatcher$State.hrequest:Ljakarta/servlet/http/HttpServletRequest;
5: StackMap locals:
StackMap stack:
aload 3
instanceof jakarta.servlet.ServletRequestWrapper
ifne 7
6: goto 14
7: StackMap locals:
StackMap stack:
aload 3
instanceof org.apache.catalina.core.ApplicationHttpRequest
ifeq 9
8: goto 14
9: StackMap locals:
StackMap stack:
aload 3
instanceof org.apache.catalina.core.ApplicationRequest
ifeq 11
10: goto 14
11: StackMap locals:
StackMap stack:
aload 3
astore 2
12: aload 3
checkcast jakarta.servlet.ServletRequestWrapper
invokevirtual jakarta.servlet.ServletRequestWrapper.getRequest:()Ljakarta/servlet/ServletRequest;
astore 3
13: StackMap locals:
StackMap stack:
aload 3
ifnonnull 3
14: StackMap locals:
StackMap stack:
aconst_null
astore 4
start local 4 15: aload 3
instanceof org.apache.catalina.core.ApplicationHttpRequest
ifne 18
16: aload 3
instanceof org.apache.catalina.connector.Request
ifne 18
17: aload 3
instanceof jakarta.servlet.http.HttpServletRequest
ifeq 37
18: StackMap locals: jakarta.servlet.ServletRequest
StackMap stack:
aload 3
checkcast jakarta.servlet.http.HttpServletRequest
astore 5
start local 5 19: iconst_0
istore 6
start local 6 20: aload 1
getfield org.apache.catalina.core.ApplicationDispatcher$State.outerRequest:Ljakarta/servlet/ServletRequest;
instanceof org.apache.catalina.core.ApplicationHttpRequest
ifne 23
21: aload 1
getfield org.apache.catalina.core.ApplicationDispatcher$State.outerRequest:Ljakarta/servlet/ServletRequest;
instanceof org.apache.catalina.connector.Request
ifne 23
22: aload 1
getfield org.apache.catalina.core.ApplicationDispatcher$State.outerRequest:Ljakarta/servlet/ServletRequest;
instanceof jakarta.servlet.http.HttpServletRequest
ifeq 33
23: StackMap locals: jakarta.servlet.http.HttpServletRequest int
StackMap stack:
aload 1
getfield org.apache.catalina.core.ApplicationDispatcher$State.outerRequest:Ljakarta/servlet/ServletRequest;
checkcast jakarta.servlet.http.HttpServletRequest
24: astore 7
start local 7 25: aload 7
26: ldc "jakarta.servlet.include.context_path"
27: invokeinterface jakarta.servlet.http.HttpServletRequest.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
astore 8
start local 8 28: aload 8
ifnonnull 30
29: aload 7
invokeinterface jakarta.servlet.http.HttpServletRequest.getContextPath:()Ljava/lang/String;
astore 8
30: StackMap locals: jakarta.servlet.http.HttpServletRequest java.lang.Object
StackMap stack:
aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.context:Lorg/apache/catalina/Context;
invokeinterface org.apache.catalina.Context.getPath:()Ljava/lang/String;
aload 8
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 31
iconst_0
goto 32
StackMap locals:
StackMap stack:
31: iconst_1
StackMap locals:
StackMap stack: int
32: istore 6
end local 8 end local 7 33: StackMap locals:
StackMap stack:
new org.apache.catalina.core.ApplicationHttpRequest
dup
34: aload 5
aload 0
getfield org.apache.catalina.core.ApplicationDispatcher.context:Lorg/apache/catalina/Context;
iload 6
35: invokespecial org.apache.catalina.core.ApplicationHttpRequest.<init>:(Ljakarta/servlet/http/HttpServletRequest;Lorg/apache/catalina/Context;Z)V
astore 4
end local 6 end local 5 36: goto 38
37: StackMap locals:
StackMap stack:
new org.apache.catalina.core.ApplicationRequest
dup
aload 3
invokespecial org.apache.catalina.core.ApplicationRequest.<init>:(Ljakarta/servlet/ServletRequest;)V
astore 4
38: StackMap locals:
StackMap stack:
aload 2
ifnonnull 40
39: aload 1
aload 4
putfield org.apache.catalina.core.ApplicationDispatcher$State.outerRequest:Ljakarta/servlet/ServletRequest;
goto 41
40: StackMap locals:
StackMap stack:
aload 2
checkcast jakarta.servlet.ServletRequestWrapper
aload 4
invokevirtual jakarta.servlet.ServletRequestWrapper.setRequest:(Ljakarta/servlet/ServletRequest;)V
41: StackMap locals:
StackMap stack:
aload 1
aload 4
putfield org.apache.catalina.core.ApplicationDispatcher$State.wrapRequest:Ljakarta/servlet/ServletRequest;
42: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 43 0 this Lorg/apache/catalina/core/ApplicationDispatcher;
0 43 1 state Lorg/apache/catalina/core/ApplicationDispatcher$State;
1 43 2 previous Ljakarta/servlet/ServletRequest;
2 43 3 current Ljakarta/servlet/ServletRequest;
15 43 4 wrapper Ljakarta/servlet/ServletRequest;
19 36 5 hcurrent Ljakarta/servlet/http/HttpServletRequest;
20 36 6 crossContext Z
25 33 7 houterRequest Ljakarta/servlet/http/HttpServletRequest;
28 33 8 contextPath Ljava/lang/Object;
MethodParameters:
Name Flags
state
private jakarta.servlet.ServletResponse wrapResponse(org.apache.catalina.core.ApplicationDispatcher$State);
descriptor: (Lorg/apache/catalina/core/ApplicationDispatcher$State;)Ljakarta/servlet/ServletResponse;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 1
getfield org.apache.catalina.core.ApplicationDispatcher$State.outerResponse:Ljakarta/servlet/ServletResponse;
astore 3
start local 3 2: goto 15
3: StackMap locals: jakarta.servlet.ServletResponse jakarta.servlet.ServletResponse
StackMap stack:
aload 1
getfield org.apache.catalina.core.ApplicationDispatcher$State.hresponse:Ljakarta/servlet/http/HttpServletResponse;
ifnonnull 7
aload 3
instanceof jakarta.servlet.http.HttpServletResponse
ifeq 7
4: aload 1
aload 3
checkcast jakarta.servlet.http.HttpServletResponse
putfield org.apache.catalina.core.ApplicationDispatcher$State.hresponse:Ljakarta/servlet/http/HttpServletResponse;
5: aload 1
getfield org.apache.catalina.core.ApplicationDispatcher$State.including:Z
ifne 7
6: aconst_null
areturn
7: StackMap locals:
StackMap stack:
aload 3
instanceof jakarta.servlet.ServletResponseWrapper
ifne 9
8: goto 16
9: StackMap locals:
StackMap stack:
aload 3
instanceof org.apache.catalina.core.ApplicationHttpResponse
ifeq 11
10: goto 16
11: StackMap locals:
StackMap stack:
aload 3
instanceof org.apache.catalina.core.ApplicationResponse
ifeq 13
12: goto 16
13: StackMap locals:
StackMap stack:
aload 3
astore 2
14: aload 3
checkcast jakarta.servlet.ServletResponseWrapper
invokevirtual jakarta.servlet.ServletResponseWrapper.getResponse:()Ljakarta/servlet/ServletResponse;
astore 3
15: StackMap locals:
StackMap stack:
aload 3
ifnonnull 3
16: StackMap locals:
StackMap stack:
aconst_null
astore 4
start local 4 17: aload 3
instanceof org.apache.catalina.core.ApplicationHttpResponse
ifne 20
18: aload 3
instanceof org.apache.catalina.connector.Response
ifne 20
19: aload 3
instanceof jakarta.servlet.http.HttpServletResponse
ifeq 25
20: StackMap locals: jakarta.servlet.ServletResponse
StackMap stack:
new org.apache.catalina.core.ApplicationHttpResponse
dup
aload 3
checkcast jakarta.servlet.http.HttpServletResponse
21: aload 1
getfield org.apache.catalina.core.ApplicationDispatcher$State.including:Z
22: invokespecial org.apache.catalina.core.ApplicationHttpResponse.<init>:(Ljakarta/servlet/http/HttpServletResponse;Z)V
23: astore 4
24: goto 26
25: StackMap locals:
StackMap stack:
new org.apache.catalina.core.ApplicationResponse
dup
aload 3
aload 1
getfield org.apache.catalina.core.ApplicationDispatcher$State.including:Z
invokespecial org.apache.catalina.core.ApplicationResponse.<init>:(Ljakarta/servlet/ServletResponse;Z)V
astore 4
26: StackMap locals:
StackMap stack:
aload 2
ifnonnull 28
27: aload 1
aload 4
putfield org.apache.catalina.core.ApplicationDispatcher$State.outerResponse:Ljakarta/servlet/ServletResponse;
goto 29
28: StackMap locals:
StackMap stack:
aload 2
checkcast jakarta.servlet.ServletResponseWrapper
aload 4
invokevirtual jakarta.servlet.ServletResponseWrapper.setResponse:(Ljakarta/servlet/ServletResponse;)V
29: StackMap locals:
StackMap stack:
aload 1
aload 4
putfield org.apache.catalina.core.ApplicationDispatcher$State.wrapResponse:Ljakarta/servlet/ServletResponse;
30: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lorg/apache/catalina/core/ApplicationDispatcher;
0 31 1 state Lorg/apache/catalina/core/ApplicationDispatcher$State;
1 31 2 previous Ljakarta/servlet/ServletResponse;
2 31 3 current Ljakarta/servlet/ServletResponse;
17 31 4 wrapper Ljakarta/servlet/ServletResponse;
MethodParameters:
Name Flags
state
private void checkSameObjects(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse);
descriptor: (Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: invokestatic org.apache.catalina.core.ApplicationFilterChain.getLastServicedRequest:()Ljakarta/servlet/ServletRequest;
1: astore 3
start local 3 2: invokestatic org.apache.catalina.core.ApplicationFilterChain.getLastServicedResponse:()Ljakarta/servlet/ServletResponse;
3: astore 4
start local 4 4: aload 3
ifnull 5
aload 4
ifnonnull 6
5: StackMap locals: jakarta.servlet.ServletRequest jakarta.servlet.ServletResponse
StackMap stack:
return
6: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 7: aload 1
astore 6
start local 6 8: goto 11
9: StackMap locals: int jakarta.servlet.ServletRequest
StackMap stack:
aload 3
checkcast jakarta.servlet.ServletRequestWrapper
invokevirtual jakarta.servlet.ServletRequestWrapper.getRequest:()Ljakarta/servlet/ServletRequest;
10: astore 3
11: StackMap locals:
StackMap stack:
aload 3
instanceof jakarta.servlet.ServletRequestWrapper
ifeq 19
12: aload 3
checkcast jakarta.servlet.ServletRequestWrapper
invokevirtual jakarta.servlet.ServletRequestWrapper.getRequest:()Ljakarta/servlet/ServletRequest;
ifnonnull 9
13: goto 19
14: StackMap locals:
StackMap stack:
aload 3
aload 6
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 16
15: iconst_1
istore 5
16: StackMap locals:
StackMap stack:
iload 5
ifne 20
aload 6
instanceof jakarta.servlet.ServletRequestWrapper
ifeq 20
17: aload 6
checkcast jakarta.servlet.ServletRequestWrapper
invokevirtual jakarta.servlet.ServletRequestWrapper.getRequest:()Ljakarta/servlet/ServletRequest;
18: astore 6
19: StackMap locals:
StackMap stack:
iload 5
ifeq 14
20: StackMap locals:
StackMap stack:
iload 5
ifne 24
21: new jakarta.servlet.ServletException
dup
getstatic org.apache.catalina.core.ApplicationDispatcher.sm:Lorg/apache/tomcat/util/res/StringManager;
22: ldc "applicationDispatcher.specViolation.request"
23: invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial jakarta.servlet.ServletException.<init>:(Ljava/lang/String;)V
athrow
24: StackMap locals:
StackMap stack:
iconst_0
istore 5
25: aload 2
astore 7
start local 7 26: goto 29
27: StackMap locals: jakarta.servlet.ServletResponse
StackMap stack:
aload 4
checkcast jakarta.servlet.ServletResponseWrapper
invokevirtual jakarta.servlet.ServletResponseWrapper.getResponse:()Ljakarta/servlet/ServletResponse;
28: astore 4
29: StackMap locals:
StackMap stack:
aload 4
instanceof jakarta.servlet.ServletResponseWrapper
ifeq 37
30: aload 4
checkcast jakarta.servlet.ServletResponseWrapper
invokevirtual jakarta.servlet.ServletResponseWrapper.getResponse:()Ljakarta/servlet/ServletResponse;
ifnonnull 27
31: goto 37
32: StackMap locals:
StackMap stack:
aload 4
aload 7
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 34
33: iconst_1
istore 5
34: StackMap locals:
StackMap stack:
iload 5
ifne 38
aload 7
instanceof jakarta.servlet.ServletResponseWrapper
ifeq 38
35: aload 7
checkcast jakarta.servlet.ServletResponseWrapper
invokevirtual jakarta.servlet.ServletResponseWrapper.getResponse:()Ljakarta/servlet/ServletResponse;
36: astore 7
37: StackMap locals:
StackMap stack:
iload 5
ifeq 32
38: StackMap locals:
StackMap stack:
iload 5
ifne 42
39: new jakarta.servlet.ServletException
dup
getstatic org.apache.catalina.core.ApplicationDispatcher.sm:Lorg/apache/tomcat/util/res/StringManager;
40: ldc "applicationDispatcher.specViolation.response"
41: invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial jakarta.servlet.ServletException.<init>:(Ljava/lang/String;)V
athrow
42: StackMap locals:
StackMap stack:
return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 43 0 this Lorg/apache/catalina/core/ApplicationDispatcher;
0 43 1 appRequest Ljakarta/servlet/ServletRequest;
0 43 2 appResponse Ljakarta/servlet/ServletResponse;
2 43 3 originalRequest Ljakarta/servlet/ServletRequest;
4 43 4 originalResponse Ljakarta/servlet/ServletResponse;
7 43 5 same Z
8 43 6 dispatchedRequest Ljakarta/servlet/ServletRequest;
26 43 7 dispatchedResponse Ljakarta/servlet/ServletResponse;
Exceptions:
throws jakarta.servlet.ServletException
MethodParameters:
Name Flags
appRequest
appResponse
private void recycleRequestWrapper(org.apache.catalina.core.ApplicationDispatcher$State);
descriptor: (Lorg/apache/catalina/core/ApplicationDispatcher$State;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield org.apache.catalina.core.ApplicationDispatcher$State.wrapRequest:Ljakarta/servlet/ServletRequest;
instanceof org.apache.catalina.core.ApplicationHttpRequest
ifeq 2
1: aload 1
getfield org.apache.catalina.core.ApplicationDispatcher$State.wrapRequest:Ljakarta/servlet/ServletRequest;
checkcast org.apache.catalina.core.ApplicationHttpRequest
invokevirtual org.apache.catalina.core.ApplicationHttpRequest.recycle:()V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/catalina/core/ApplicationDispatcher;
0 3 1 state Lorg/apache/catalina/core/ApplicationDispatcher$State;
MethodParameters:
Name Flags
state
}
SourceFile: "ApplicationDispatcher.java"
NestMembers:
org.apache.catalina.core.ApplicationDispatcher$PrivilegedDispatch org.apache.catalina.core.ApplicationDispatcher$PrivilegedForward org.apache.catalina.core.ApplicationDispatcher$PrivilegedInclude org.apache.catalina.core.ApplicationDispatcher$State
InnerClasses:
protected PrivilegedDispatch = org.apache.catalina.core.ApplicationDispatcher$PrivilegedDispatch of org.apache.catalina.core.ApplicationDispatcher
protected PrivilegedForward = org.apache.catalina.core.ApplicationDispatcher$PrivilegedForward of org.apache.catalina.core.ApplicationDispatcher
protected PrivilegedInclude = org.apache.catalina.core.ApplicationDispatcher$PrivilegedInclude of org.apache.catalina.core.ApplicationDispatcher
private State = org.apache.catalina.core.ApplicationDispatcher$State of org.apache.catalina.core.ApplicationDispatcher