final class org.apache.catalina.core.StandardHostValve extends org.apache.catalina.valves.ValveBase
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: org.apache.catalina.core.StandardHostValve
super_class: org.apache.catalina.valves.ValveBase
{
private static final org.apache.juli.logging.Log log;
descriptor: Lorg/apache/juli/logging/Log;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.ClassLoader MY_CLASSLOADER;
descriptor: Ljava/lang/ClassLoader;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final boolean STRICT_SERVLET_COMPLIANCE;
descriptor: Z
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final boolean ACCESS_SESSION;
descriptor: Z
flags: (0x0018) ACC_STATIC, 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
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=0
0: ldc Lorg/apache/catalina/core/StandardHostValve;
invokestatic org.apache.juli.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/juli/logging/Log;
putstatic org.apache.catalina.core.StandardHostValve.log:Lorg/apache/juli/logging/Log;
1: ldc Lorg/apache/catalina/core/StandardHostValve;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
2: putstatic org.apache.catalina.core.StandardHostValve.MY_CLASSLOADER:Ljava/lang/ClassLoader;
3: getstatic org.apache.catalina.Globals.STRICT_SERVLET_COMPLIANCE:Z
putstatic org.apache.catalina.core.StandardHostValve.STRICT_SERVLET_COMPLIANCE:Z
4: ldc "org.apache.catalina.core.StandardHostValve.ACCESS_SESSION"
5: invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 0
start local 0 6: aload 0
ifnonnull 9
7: getstatic org.apache.catalina.core.StandardHostValve.STRICT_SERVLET_COMPLIANCE:Z
putstatic org.apache.catalina.core.StandardHostValve.ACCESS_SESSION:Z
8: goto 10
9: StackMap locals: java.lang.String
StackMap stack:
aload 0
invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
putstatic org.apache.catalina.core.StandardHostValve.ACCESS_SESSION:Z
end local 0 10: StackMap locals:
StackMap stack:
ldc "org.apache.catalina.core"
invokestatic org.apache.tomcat.util.res.StringManager.getManager:(Ljava/lang/String;)Lorg/apache/tomcat/util/res/StringManager;
11: putstatic org.apache.catalina.core.StandardHostValve.sm:Lorg/apache/tomcat/util/res/StringManager;
12: return
LocalVariableTable:
Start End Slot Name Signature
6 10 0 accessSession Ljava/lang/String;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokespecial org.apache.catalina.valves.ValveBase.<init>:(Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/core/StandardHostValve;
public final void invoke(org.apache.catalina.connector.Request, org.apache.catalina.connector.Response);
descriptor: (Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.apache.catalina.connector.Request.getContext:()Lorg/apache/catalina/Context;
astore 3
start local 3 1: aload 3
ifnonnull 3
2: return
3: StackMap locals: org.apache.catalina.Context
StackMap stack:
aload 1
invokevirtual org.apache.catalina.connector.Request.isAsyncSupported:()Z
ifeq 5
4: aload 1
aload 3
invokeinterface org.apache.catalina.Context.getPipeline:()Lorg/apache/catalina/Pipeline;
invokeinterface org.apache.catalina.Pipeline.isAsyncSupported:()Z
invokevirtual org.apache.catalina.connector.Request.setAsyncSupported:(Z)V
5: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.apache.catalina.connector.Request.isAsync:()Z
istore 4
start local 4 6: aload 3
getstatic org.apache.catalina.Globals.IS_SECURITY_ENABLED:Z
getstatic org.apache.catalina.core.StandardHostValve.MY_CLASSLOADER:Ljava/lang/ClassLoader;
invokeinterface org.apache.catalina.Context.bind:(ZLjava/lang/ClassLoader;)Ljava/lang/ClassLoader;
pop
7: iload 4
ifne 12
aload 3
aload 1
invokevirtual org.apache.catalina.connector.Request.getRequest:()Ljavax/servlet/http/HttpServletRequest;
invokeinterface org.apache.catalina.Context.fireRequestInitEvent:(Ljavax/servlet/ServletRequest;)Z
ifne 12
8: getstatic org.apache.catalina.core.StandardHostValve.ACCESS_SESSION:Z
ifeq 10
9: aload 1
iconst_0
invokevirtual org.apache.catalina.connector.Request.getSession:(Z)Ljavax/servlet/http/HttpSession;
pop
10: StackMap locals: int
StackMap stack:
aload 3
getstatic org.apache.catalina.Globals.IS_SECURITY_ENABLED:Z
getstatic org.apache.catalina.core.StandardHostValve.MY_CLASSLOADER:Ljava/lang/ClassLoader;
invokeinterface org.apache.catalina.Context.unbind:(ZLjava/lang/ClassLoader;)V
11: return
12: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.apache.catalina.connector.Response.isErrorReportRequired:()Z
ifne 21
13: aload 3
invokeinterface org.apache.catalina.Context.getPipeline:()Lorg/apache/catalina/Pipeline;
invokeinterface org.apache.catalina.Pipeline.getFirst:()Lorg/apache/catalina/Valve;
aload 1
aload 2
invokeinterface org.apache.catalina.Valve.invoke:(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
14: goto 21
StackMap locals:
StackMap stack: java.lang.Throwable
15: astore 5
start local 5 16: aload 5
invokestatic org.apache.tomcat.util.ExceptionUtils.handleThrowable:(Ljava/lang/Throwable;)V
17: aload 0
getfield org.apache.catalina.core.StandardHostValve.container:Lorg/apache/catalina/Container;
invokeinterface org.apache.catalina.Container.getLogger:()Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Exception Processing "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual org.apache.catalina.connector.Request.getRequestURI:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 5
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
18: aload 2
invokevirtual org.apache.catalina.connector.Response.isErrorReportRequired:()Z
ifne 21
19: aload 1
ldc "javax.servlet.error.exception"
aload 5
invokevirtual org.apache.catalina.connector.Request.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
20: aload 0
aload 1
aload 2
aload 5
invokevirtual org.apache.catalina.core.StandardHostValve.throwable:(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;Ljava/lang/Throwable;)V
end local 5 21: StackMap locals:
StackMap stack:
aload 2
iconst_0
invokevirtual org.apache.catalina.connector.Response.setSuspended:(Z)V
22: aload 1
ldc "javax.servlet.error.exception"
invokevirtual org.apache.catalina.connector.Request.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.Throwable
astore 5
start local 5 23: aload 3
invokeinterface org.apache.catalina.Context.getState:()Lorg/apache/catalina/LifecycleState;
invokevirtual org.apache.catalina.LifecycleState.isAvailable:()Z
ifne 28
24: getstatic org.apache.catalina.core.StandardHostValve.ACCESS_SESSION:Z
ifeq 26
25: aload 1
iconst_0
invokevirtual org.apache.catalina.connector.Request.getSession:(Z)Ljavax/servlet/http/HttpSession;
pop
26: StackMap locals: java.lang.Throwable
StackMap stack:
aload 3
getstatic org.apache.catalina.Globals.IS_SECURITY_ENABLED:Z
getstatic org.apache.catalina.core.StandardHostValve.MY_CLASSLOADER:Ljava/lang/ClassLoader;
invokeinterface org.apache.catalina.Context.unbind:(ZLjava/lang/ClassLoader;)V
27: return
28: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.apache.catalina.connector.Response.isErrorReportRequired:()Z
ifeq 36
29: new java.util.concurrent.atomic.AtomicBoolean
dup
iconst_0
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:(Z)V
astore 6
start local 6 30: aload 2
invokevirtual org.apache.catalina.connector.Response.getCoyoteResponse:()Lorg/apache/coyote/Response;
getstatic org.apache.coyote.ActionCode.IS_IO_ALLOWED:Lorg/apache/coyote/ActionCode;
aload 6
invokevirtual org.apache.coyote.Response.action:(Lorg/apache/coyote/ActionCode;Ljava/lang/Object;)V
31: aload 6
invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
ifeq 36
32: aload 5
ifnull 35
33: aload 0
aload 1
aload 2
aload 5
invokevirtual org.apache.catalina.core.StandardHostValve.throwable:(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;Ljava/lang/Throwable;)V
34: goto 36
35: StackMap locals: java.util.concurrent.atomic.AtomicBoolean
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.apache.catalina.core.StandardHostValve.status:(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
end local 6 36: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.apache.catalina.connector.Request.isAsync:()Z
ifne 44
iload 4
ifne 44
37: aload 3
aload 1
invokevirtual org.apache.catalina.connector.Request.getRequest:()Ljavax/servlet/http/HttpServletRequest;
invokeinterface org.apache.catalina.Context.fireRequestDestroyEvent:(Ljavax/servlet/ServletRequest;)Z
pop
end local 5 38: goto 44
StackMap locals: org.apache.catalina.core.StandardHostValve org.apache.catalina.connector.Request org.apache.catalina.connector.Response org.apache.catalina.Context int
StackMap stack: java.lang.Throwable
39: astore 7
40: getstatic org.apache.catalina.core.StandardHostValve.ACCESS_SESSION:Z
ifeq 42
41: aload 1
iconst_0
invokevirtual org.apache.catalina.connector.Request.getSession:(Z)Ljavax/servlet/http/HttpSession;
pop
42: StackMap locals: org.apache.catalina.core.StandardHostValve org.apache.catalina.connector.Request org.apache.catalina.connector.Response org.apache.catalina.Context int top top java.lang.Throwable
StackMap stack:
aload 3
getstatic org.apache.catalina.Globals.IS_SECURITY_ENABLED:Z
getstatic org.apache.catalina.core.StandardHostValve.MY_CLASSLOADER:Ljava/lang/ClassLoader;
invokeinterface org.apache.catalina.Context.unbind:(ZLjava/lang/ClassLoader;)V
43: aload 7
athrow
44: StackMap locals: org.apache.catalina.core.StandardHostValve org.apache.catalina.connector.Request org.apache.catalina.connector.Response org.apache.catalina.Context int
StackMap stack:
getstatic org.apache.catalina.core.StandardHostValve.ACCESS_SESSION:Z
ifeq 46
45: aload 1
iconst_0
invokevirtual org.apache.catalina.connector.Request.getSession:(Z)Ljavax/servlet/http/HttpSession;
pop
46: StackMap locals:
StackMap stack:
aload 3
getstatic org.apache.catalina.Globals.IS_SECURITY_ENABLED:Z
getstatic org.apache.catalina.core.StandardHostValve.MY_CLASSLOADER:Ljava/lang/ClassLoader;
invokeinterface org.apache.catalina.Context.unbind:(ZLjava/lang/ClassLoader;)V
47: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 48 0 this Lorg/apache/catalina/core/StandardHostValve;
0 48 1 request Lorg/apache/catalina/connector/Request;
0 48 2 response Lorg/apache/catalina/connector/Response;
1 48 3 context Lorg/apache/catalina/Context;
6 48 4 asyncAtStart Z
16 21 5 t Ljava/lang/Throwable;
23 38 5 t Ljava/lang/Throwable;
30 36 6 result Ljava/util/concurrent/atomic/AtomicBoolean;
Exception table:
from to target type
12 14 15 Class java.lang.Throwable
6 8 39 any
12 24 39 any
28 39 39 any
Exceptions:
throws java.io.IOException, javax.servlet.ServletException
MethodParameters:
Name Flags
request
response
private void status(org.apache.catalina.connector.Request, org.apache.catalina.connector.Response);
descriptor: (Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual org.apache.catalina.connector.Response.getStatus:()I
istore 3
start local 3 1: aload 1
invokevirtual org.apache.catalina.connector.Request.getContext:()Lorg/apache/catalina/Context;
astore 4
start local 4 2: aload 4
ifnonnull 4
3: return
4: StackMap locals: int org.apache.catalina.Context
StackMap stack:
aload 2
invokevirtual org.apache.catalina.connector.Response.isError:()Z
ifne 6
5: return
6: StackMap locals:
StackMap stack:
aload 4
iload 3
invokeinterface org.apache.catalina.Context.findErrorPage:(I)Lorg/apache/tomcat/util/descriptor/web/ErrorPage;
astore 5
start local 5 7: aload 5
ifnonnull 9
8: aload 4
iconst_0
invokeinterface org.apache.catalina.Context.findErrorPage:(I)Lorg/apache/tomcat/util/descriptor/web/ErrorPage;
astore 5
9: StackMap locals: org.apache.tomcat.util.descriptor.web.ErrorPage
StackMap stack:
aload 5
ifnull 39
aload 2
invokevirtual org.apache.catalina.connector.Response.isErrorReportRequired:()Z
ifeq 39
10: aload 2
iconst_0
invokevirtual org.apache.catalina.connector.Response.setAppCommitted:(Z)V
11: aload 1
ldc "javax.servlet.error.status_code"
12: iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
13: invokevirtual org.apache.catalina.connector.Request.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
14: aload 2
invokevirtual org.apache.catalina.connector.Response.getMessage:()Ljava/lang/String;
astore 6
start local 6 15: aload 6
ifnonnull 17
16: ldc ""
astore 6
17: StackMap locals: java.lang.String
StackMap stack:
aload 1
ldc "javax.servlet.error.message"
aload 6
invokevirtual org.apache.catalina.connector.Request.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
18: aload 1
ldc "org.apache.catalina.core.DISPATCHER_REQUEST_PATH"
19: aload 5
invokevirtual org.apache.tomcat.util.descriptor.web.ErrorPage.getLocation:()Ljava/lang/String;
20: invokevirtual org.apache.catalina.connector.Request.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
21: aload 1
ldc "org.apache.catalina.core.DISPATCHER_TYPE"
22: getstatic javax.servlet.DispatcherType.ERROR:Ljavax/servlet/DispatcherType;
23: invokevirtual org.apache.catalina.connector.Request.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
24: aload 1
invokevirtual org.apache.catalina.connector.Request.getWrapper:()Lorg/apache/catalina/Wrapper;
astore 7
start local 7 25: aload 7
ifnull 29
26: aload 1
ldc "javax.servlet.error.servlet_name"
27: aload 7
invokeinterface org.apache.catalina.Wrapper.getName:()Ljava/lang/String;
28: invokevirtual org.apache.catalina.connector.Request.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
29: StackMap locals: org.apache.catalina.Wrapper
StackMap stack:
aload 1
ldc "javax.servlet.error.request_uri"
30: aload 1
invokevirtual org.apache.catalina.connector.Request.getRequestURI:()Ljava/lang/String;
31: invokevirtual org.apache.catalina.connector.Request.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
32: aload 0
aload 1
aload 2
aload 5
invokevirtual org.apache.catalina.core.StandardHostValve.custom:(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;Lorg/apache/tomcat/util/descriptor/web/ErrorPage;)Z
ifeq 39
33: aload 2
invokevirtual org.apache.catalina.connector.Response.setErrorReported:()Z
pop
34: aload 2
invokevirtual org.apache.catalina.connector.Response.finishResponse:()V
35: goto 39
StackMap locals:
StackMap stack: org.apache.catalina.connector.ClientAbortException
36: pop
goto 39
37: StackMap locals:
StackMap stack: java.io.IOException
astore 8
start local 8 38: aload 0
getfield org.apache.catalina.core.StandardHostValve.container:Lorg/apache/catalina/Container;
invokeinterface org.apache.catalina.Container.getLogger:()Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Exception Processing "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 8
invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 8 end local 7 end local 6 39: StackMap locals:
StackMap stack:
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 40 0 this Lorg/apache/catalina/core/StandardHostValve;
0 40 1 request Lorg/apache/catalina/connector/Request;
0 40 2 response Lorg/apache/catalina/connector/Response;
1 40 3 statusCode I
2 40 4 context Lorg/apache/catalina/Context;
7 40 5 errorPage Lorg/apache/tomcat/util/descriptor/web/ErrorPage;
15 39 6 message Ljava/lang/String;
25 39 7 wrapper Lorg/apache/catalina/Wrapper;
38 39 8 e Ljava/io/IOException;
Exception table:
from to target type
34 35 36 Class org.apache.catalina.connector.ClientAbortException
34 35 37 Class java.io.IOException
MethodParameters:
Name Flags
request
response
protected void throwable(org.apache.catalina.connector.Request, org.apache.catalina.connector.Response, java.lang.Throwable);
descriptor: (Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;Ljava/lang/Throwable;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual org.apache.catalina.connector.Request.getContext:()Lorg/apache/catalina/Context;
astore 4
start local 4 1: aload 4
ifnonnull 3
2: return
3: StackMap locals: org.apache.catalina.Context
StackMap stack:
aload 3
astore 5
start local 5 4: aload 5
instanceof javax.servlet.ServletException
ifeq 8
5: aload 5
checkcast javax.servlet.ServletException
invokevirtual javax.servlet.ServletException.getRootCause:()Ljava/lang/Throwable;
astore 5
6: aload 5
ifnonnull 8
7: aload 3
astore 5
8: StackMap locals: java.lang.Throwable
StackMap stack:
aload 5
instanceof org.apache.catalina.connector.ClientAbortException
ifeq 16
9: getstatic org.apache.catalina.core.StandardHostValve.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 15
10: getstatic org.apache.catalina.core.StandardHostValve.log:Lorg/apache/juli/logging/Log;
11: getstatic org.apache.catalina.core.StandardHostValve.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "standardHost.clientAbort"
iconst_1
anewarray java.lang.Object
dup
iconst_0
12: aload 5
invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
aastore
13: invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
14: invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
15: StackMap locals:
StackMap stack:
return
16: StackMap locals:
StackMap stack:
aload 4
aload 3
invokeinterface org.apache.catalina.Context.findErrorPage:(Ljava/lang/Throwable;)Lorg/apache/tomcat/util/descriptor/web/ErrorPage;
astore 6
start local 6 17: aload 6
ifnonnull 19
aload 5
aload 3
if_acmpeq 19
18: aload 4
aload 5
invokeinterface org.apache.catalina.Context.findErrorPage:(Ljava/lang/Throwable;)Lorg/apache/tomcat/util/descriptor/web/ErrorPage;
astore 6
19: StackMap locals: org.apache.tomcat.util.descriptor.web.ErrorPage
StackMap stack:
aload 6
ifnull 54
20: aload 2
invokevirtual org.apache.catalina.connector.Response.setErrorReported:()Z
ifeq 57
21: aload 2
iconst_0
invokevirtual org.apache.catalina.connector.Response.setAppCommitted:(Z)V
22: aload 1
ldc "org.apache.catalina.core.DISPATCHER_REQUEST_PATH"
23: aload 6
invokevirtual org.apache.tomcat.util.descriptor.web.ErrorPage.getLocation:()Ljava/lang/String;
24: invokevirtual org.apache.catalina.connector.Request.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
25: aload 1
ldc "org.apache.catalina.core.DISPATCHER_TYPE"
26: getstatic javax.servlet.DispatcherType.ERROR:Ljavax/servlet/DispatcherType;
27: invokevirtual org.apache.catalina.connector.Request.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
28: aload 1
ldc "javax.servlet.error.status_code"
29: sipush 500
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
30: invokevirtual org.apache.catalina.connector.Request.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
31: aload 1
ldc "javax.servlet.error.message"
32: aload 3
invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
33: invokevirtual org.apache.catalina.connector.Request.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
34: aload 1
ldc "javax.servlet.error.exception"
35: aload 5
36: invokevirtual org.apache.catalina.connector.Request.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
37: aload 1
invokevirtual org.apache.catalina.connector.Request.getWrapper:()Lorg/apache/catalina/Wrapper;
astore 7
start local 7 38: aload 7
ifnull 42
39: aload 1
ldc "javax.servlet.error.servlet_name"
40: aload 7
invokeinterface org.apache.catalina.Wrapper.getName:()Ljava/lang/String;
41: invokevirtual org.apache.catalina.connector.Request.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
42: StackMap locals: org.apache.catalina.Wrapper
StackMap stack:
aload 1
ldc "javax.servlet.error.request_uri"
43: aload 1
invokevirtual org.apache.catalina.connector.Request.getRequestURI:()Ljava/lang/String;
44: invokevirtual org.apache.catalina.connector.Request.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
45: aload 1
ldc "javax.servlet.error.exception_type"
46: aload 5
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
47: invokevirtual org.apache.catalina.connector.Request.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
48: aload 0
aload 1
aload 2
aload 6
invokevirtual org.apache.catalina.core.StandardHostValve.custom:(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;Lorg/apache/tomcat/util/descriptor/web/ErrorPage;)Z
ifeq 57
49: aload 2
invokevirtual org.apache.catalina.connector.Response.finishResponse:()V
50: goto 57
StackMap locals:
StackMap stack: java.io.IOException
51: astore 8
start local 8 52: aload 0
getfield org.apache.catalina.core.StandardHostValve.container:Lorg/apache/catalina/Container;
invokeinterface org.apache.catalina.Container.getLogger:()Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Exception Processing "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 8
invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 8 end local 7 53: goto 57
54: StackMap locals:
StackMap stack:
aload 2
sipush 500
invokevirtual org.apache.catalina.connector.Response.setStatus:(I)V
55: aload 2
invokevirtual org.apache.catalina.connector.Response.setError:()Z
pop
56: aload 0
aload 1
aload 2
invokevirtual org.apache.catalina.core.StandardHostValve.status:(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
57: StackMap locals:
StackMap stack:
return
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 58 0 this Lorg/apache/catalina/core/StandardHostValve;
0 58 1 request Lorg/apache/catalina/connector/Request;
0 58 2 response Lorg/apache/catalina/connector/Response;
0 58 3 throwable Ljava/lang/Throwable;
1 58 4 context Lorg/apache/catalina/Context;
4 58 5 realError Ljava/lang/Throwable;
17 58 6 errorPage Lorg/apache/tomcat/util/descriptor/web/ErrorPage;
38 53 7 wrapper Lorg/apache/catalina/Wrapper;
52 53 8 e Ljava/io/IOException;
Exception table:
from to target type
49 50 51 Class java.io.IOException
MethodParameters:
Name Flags
request
response
throwable
private boolean custom(org.apache.catalina.connector.Request, org.apache.catalina.connector.Response, org.apache.tomcat.util.descriptor.web.ErrorPage);
descriptor: (Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;Lorg/apache/tomcat/util/descriptor/web/ErrorPage;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.apache.catalina.core.StandardHostValve.container:Lorg/apache/catalina/Container;
invokeinterface org.apache.catalina.Container.getLogger:()Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 2
1: aload 0
getfield org.apache.catalina.core.StandardHostValve.container:Lorg/apache/catalina/Container;
invokeinterface org.apache.catalina.Container.getLogger:()Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Processing "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.apache.catalina.connector.Request.getContext:()Lorg/apache/catalina/Context;
invokeinterface org.apache.catalina.Context.getServletContext:()Ljavax/servlet/ServletContext;
3: astore 4
start local 4 4: aload 4
aload 3
invokevirtual org.apache.tomcat.util.descriptor.web.ErrorPage.getLocation:()Ljava/lang/String;
invokeinterface javax.servlet.ServletContext.getRequestDispatcher:(Ljava/lang/String;)Ljavax/servlet/RequestDispatcher;
5: astore 5
start local 5 6: aload 5
ifnonnull 11
7: aload 0
getfield org.apache.catalina.core.StandardHostValve.container:Lorg/apache/catalina/Container;
invokeinterface org.apache.catalina.Container.getLogger:()Lorg/apache/juli/logging/Log;
8: getstatic org.apache.catalina.core.StandardHostValve.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "standardHostValue.customStatusFailed"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
invokevirtual org.apache.tomcat.util.descriptor.web.ErrorPage.getLocation:()Ljava/lang/String;
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
9: invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;)V
10: iconst_0
ireturn
11: StackMap locals: javax.servlet.ServletContext javax.servlet.RequestDispatcher
StackMap stack:
aload 2
invokevirtual org.apache.catalina.connector.Response.isCommitted:()Z
ifeq 14
12: aload 5
aload 1
invokevirtual org.apache.catalina.connector.Request.getRequest:()Ljavax/servlet/http/HttpServletRequest;
aload 2
invokevirtual org.apache.catalina.connector.Response.getResponse:()Ljavax/servlet/http/HttpServletResponse;
invokeinterface javax.servlet.RequestDispatcher.include:(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V
13: goto 18
14: StackMap locals:
StackMap stack:
aload 2
iconst_1
invokevirtual org.apache.catalina.connector.Response.resetBuffer:(Z)V
15: aload 2
iconst_m1
invokevirtual org.apache.catalina.connector.Response.setContentLength:(I)V
16: aload 5
aload 1
invokevirtual org.apache.catalina.connector.Request.getRequest:()Ljavax/servlet/http/HttpServletRequest;
aload 2
invokevirtual org.apache.catalina.connector.Response.getResponse:()Ljavax/servlet/http/HttpServletResponse;
invokeinterface javax.servlet.RequestDispatcher.forward:(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V
17: aload 2
iconst_0
invokevirtual org.apache.catalina.connector.Response.setSuspended:(Z)V
18: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 5 end local 4 19: StackMap locals: org.apache.catalina.core.StandardHostValve org.apache.catalina.connector.Request org.apache.catalina.connector.Response org.apache.tomcat.util.descriptor.web.ErrorPage
StackMap stack: java.lang.Throwable
astore 4
start local 4 20: aload 4
invokestatic org.apache.tomcat.util.ExceptionUtils.handleThrowable:(Ljava/lang/Throwable;)V
21: aload 0
getfield org.apache.catalina.core.StandardHostValve.container:Lorg/apache/catalina/Container;
invokeinterface org.apache.catalina.Container.getLogger:()Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Exception Processing "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
22: iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/apache/catalina/core/StandardHostValve;
0 23 1 request Lorg/apache/catalina/connector/Request;
0 23 2 response Lorg/apache/catalina/connector/Response;
0 23 3 errorPage Lorg/apache/tomcat/util/descriptor/web/ErrorPage;
4 19 4 servletContext Ljavax/servlet/ServletContext;
6 19 5 rd Ljavax/servlet/RequestDispatcher;
20 23 4 t Ljava/lang/Throwable;
Exception table:
from to target type
2 10 19 Class java.lang.Throwable
11 18 19 Class java.lang.Throwable
MethodParameters:
Name Flags
request
response
errorPage
}
SourceFile: "StandardHostValve.java"