public abstract class org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver implements org.springframework.web.servlet.HandlerExceptionResolver, org.springframework.core.Ordered
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver
super_class: java.lang.Object
{
private static final java.lang.String HEADER_CACHE_CONTROL;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "Cache-Control"
protected final org.apache.commons.logging.Log logger;
descriptor: Lorg/apache/commons/logging/Log;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private int order;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.util.Set<?> mappedHandlers;
descriptor: Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Set<*>;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private java.lang.Class<?>[] mappedHandlerClasses;
descriptor: [Ljava/lang/Class;
flags: (0x0002) ACC_PRIVATE
Signature: [Ljava/lang/Class<*>;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private org.apache.commons.logging.Log warnLogger;
descriptor: Lorg/apache/commons/logging/Log;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private boolean preventResponseCaching;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
putfield org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.logger:Lorg/apache/commons/logging/Log;
2: aload 0
ldc 2147483647
putfield org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.order:I
3: aload 0
iconst_0
putfield org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.preventResponseCaching:Z
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/web/servlet/handler/AbstractHandlerExceptionResolver;
public void setOrder(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.order:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/web/servlet/handler/AbstractHandlerExceptionResolver;
0 2 1 order I
MethodParameters:
Name Flags
order
public int getOrder();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.order:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/web/servlet/handler/AbstractHandlerExceptionResolver;
public void setMappedHandlers(java.util.Set<?>);
descriptor: (Ljava/util/Set;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.mappedHandlers:Ljava/util/Set;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/web/servlet/handler/AbstractHandlerExceptionResolver;
0 2 1 mappedHandlers Ljava/util/Set<*>;
Signature: (Ljava/util/Set<*>;)V
MethodParameters:
Name Flags
mappedHandlers
public void setMappedHandlerClasses(java.lang.Class<?>[]);
descriptor: ([Ljava/lang/Class;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.mappedHandlerClasses:[Ljava/lang/Class;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/web/servlet/handler/AbstractHandlerExceptionResolver;
0 2 1 mappedHandlerClasses [Ljava/lang/Class;
Signature: ([Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
mappedHandlerClasses
public void setWarnLogCategory(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.springframework.util.StringUtils.isEmpty:(Ljava/lang/Object;)Z
ifne 1
aload 1
invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/String;)Lorg/apache/commons/logging/Log;
goto 2
StackMap locals:
StackMap stack: org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver
1: aconst_null
StackMap locals: org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver java.lang.String
StackMap stack: org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver org.apache.commons.logging.Log
2: putfield org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.warnLogger:Lorg/apache/commons/logging/Log;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/web/servlet/handler/AbstractHandlerExceptionResolver;
0 4 1 loggerName Ljava/lang/String;
MethodParameters:
Name Flags
loggerName
public void setPreventResponseCaching(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.preventResponseCaching:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/web/servlet/handler/AbstractHandlerExceptionResolver;
0 2 1 preventResponseCaching Z
MethodParameters:
Name Flags
preventResponseCaching
public org.springframework.web.servlet.ModelAndView resolveException(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.Object, java.lang.Exception);
descriptor: (Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljava/lang/Object;Ljava/lang/Exception;)Lorg/springframework/web/servlet/ModelAndView;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 3
invokevirtual org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.shouldApplyTo:(Ljavax/servlet/http/HttpServletRequest;Ljava/lang/Object;)Z
ifeq 10
1: aload 0
aload 4
aload 2
invokevirtual org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.prepareResponse:(Ljava/lang/Exception;Ljavax/servlet/http/HttpServletResponse;)V
2: aload 0
aload 1
aload 2
aload 3
aload 4
invokevirtual org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.doResolveException:(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljava/lang/Object;Ljava/lang/Exception;)Lorg/springframework/web/servlet/ModelAndView;
astore 5
start local 5 3: aload 5
ifnull 9
4: aload 0
getfield org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 8
aload 0
getfield org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.warnLogger:Lorg/apache/commons/logging/Log;
ifnull 5
aload 0
getfield org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.warnLogger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isWarnEnabled:()Z
ifne 8
5: StackMap locals: org.springframework.web.servlet.ModelAndView
StackMap stack:
aload 0
getfield org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Resolved ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual org.springframework.web.servlet.ModelAndView.isEmpty:()Z
ifeq 6
ldc ""
goto 7
StackMap locals: org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver javax.servlet.http.HttpServletRequest javax.servlet.http.HttpServletResponse java.lang.Object java.lang.Exception org.springframework.web.servlet.ModelAndView
StackMap stack: org.apache.commons.logging.Log java.lang.StringBuilder
6: new java.lang.StringBuilder
dup
ldc " to "
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;
StackMap locals: org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver javax.servlet.http.HttpServletRequest javax.servlet.http.HttpServletResponse java.lang.Object java.lang.Exception org.springframework.web.servlet.ModelAndView
StackMap stack: org.apache.commons.logging.Log java.lang.StringBuilder java.lang.String
7: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
8: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 1
invokevirtual org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.logException:(Ljava/lang/Exception;Ljavax/servlet/http/HttpServletRequest;)V
9: StackMap locals:
StackMap stack:
aload 5
areturn
end local 5 10: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/springframework/web/servlet/handler/AbstractHandlerExceptionResolver;
0 11 1 request Ljavax/servlet/http/HttpServletRequest;
0 11 2 response Ljavax/servlet/http/HttpServletResponse;
0 11 3 handler Ljava/lang/Object;
0 11 4 ex Ljava/lang/Exception;
3 10 5 result Lorg/springframework/web/servlet/ModelAndView;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
RuntimeVisibleParameterAnnotations:
0:
1:
2:
org.springframework.lang.Nullable()
3:
MethodParameters:
Name Flags
request
response
handler
ex
protected boolean shouldApplyTo(javax.servlet.http.HttpServletRequest, java.lang.Object);
descriptor: (Ljavax/servlet/http/HttpServletRequest;Ljava/lang/Object;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnull 10
1: aload 0
getfield org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.mappedHandlers:Ljava/util/Set;
ifnull 3
aload 0
getfield org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.mappedHandlers:Ljava/util/Set;
aload 2
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 3
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.mappedHandlerClasses:[Ljava/lang/Class;
ifnull 10
4: aload 0
getfield org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.mappedHandlerClasses:[Ljava/lang/Class;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 9
StackMap locals: org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver javax.servlet.http.HttpServletRequest java.lang.Object top int int java.lang.Class[]
StackMap stack:
5: aload 6
iload 4
aaload
astore 3
start local 3 6: aload 3
aload 2
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifeq 8
7: iconst_1
ireturn
end local 3 8: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
iload 5
if_icmplt 5
10: StackMap locals: org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver javax.servlet.http.HttpServletRequest java.lang.Object
StackMap stack:
aload 0
getfield org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.mappedHandlers:Ljava/util/Set;
ifnonnull 11
aload 0
getfield org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.mappedHandlerClasses:[Ljava/lang/Class;
ifnonnull 11
iconst_1
ireturn
StackMap locals:
StackMap stack:
11: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/springframework/web/servlet/handler/AbstractHandlerExceptionResolver;
0 12 1 request Ljavax/servlet/http/HttpServletRequest;
0 12 2 handler Ljava/lang/Object;
6 8 3 handlerClass Ljava/lang/Class<*>;
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
request
handler
protected void logException(java.lang.Exception, javax.servlet.http.HttpServletRequest);
descriptor: (Ljava/lang/Exception;Ljavax/servlet/http/HttpServletRequest;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.warnLogger:Lorg/apache/commons/logging/Log;
ifnull 2
aload 0
getfield org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.warnLogger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isWarnEnabled:()Z
ifeq 2
1: aload 0
getfield org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.warnLogger:Lorg/apache/commons/logging/Log;
aload 0
aload 1
aload 2
invokevirtual org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.buildLogMessage:(Ljava/lang/Exception;Ljavax/servlet/http/HttpServletRequest;)Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.warn:(Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/web/servlet/handler/AbstractHandlerExceptionResolver;
0 3 1 ex Ljava/lang/Exception;
0 3 2 request Ljavax/servlet/http/HttpServletRequest;
MethodParameters:
Name Flags
ex
request
protected java.lang.String buildLogMessage(java.lang.Exception, javax.servlet.http.HttpServletRequest);
descriptor: (Ljava/lang/Exception;Ljavax/servlet/http/HttpServletRequest;)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.StringBuilder
dup
ldc "Resolved ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/web/servlet/handler/AbstractHandlerExceptionResolver;
0 1 1 ex Ljava/lang/Exception;
0 1 2 request Ljavax/servlet/http/HttpServletRequest;
MethodParameters:
Name Flags
ex
request
protected void prepareResponse(java.lang.Exception, javax.servlet.http.HttpServletResponse);
descriptor: (Ljava/lang/Exception;Ljavax/servlet/http/HttpServletResponse;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.preventResponseCaching:Z
ifeq 2
1: aload 0
aload 2
invokevirtual org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.preventCaching:(Ljavax/servlet/http/HttpServletResponse;)V
2: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/web/servlet/handler/AbstractHandlerExceptionResolver;
0 3 1 ex Ljava/lang/Exception;
0 3 2 response Ljavax/servlet/http/HttpServletResponse;
MethodParameters:
Name Flags
ex
response
protected void preventCaching(javax.servlet.http.HttpServletResponse);
descriptor: (Ljavax/servlet/http/HttpServletResponse;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "Cache-Control"
ldc "no-store"
invokeinterface javax.servlet.http.HttpServletResponse.addHeader:(Ljava/lang/String;Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/web/servlet/handler/AbstractHandlerExceptionResolver;
0 2 1 response Ljavax/servlet/http/HttpServletResponse;
MethodParameters:
Name Flags
response
protected abstract org.springframework.web.servlet.ModelAndView doResolveException(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.Object, java.lang.Exception);
descriptor: (Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljava/lang/Object;Ljava/lang/Exception;)Lorg/springframework/web/servlet/ModelAndView;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
RuntimeVisibleParameterAnnotations:
0:
1:
2:
org.springframework.lang.Nullable()
3:
MethodParameters:
Name Flags
request
response
handler
ex
}
SourceFile: "AbstractHandlerExceptionResolver.java"