public abstract class org.springframework.web.servlet.handler.AbstractUrlHandlerMapping extends org.springframework.web.servlet.handler.AbstractHandlerMapping implements org.springframework.web.servlet.handler.MatchableHandlerMapping
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.springframework.web.servlet.handler.AbstractUrlHandlerMapping
super_class: org.springframework.web.servlet.handler.AbstractHandlerMapping
{
private java.lang.Object rootHandler;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private boolean useTrailingSlashMatch;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean lazyInitHandlers;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final java.util.Map<java.lang.String, java.lang.Object> handlerMap;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.springframework.web.servlet.handler.AbstractHandlerMapping.<init>:()V
1: aload 0
iconst_0
putfield org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.useTrailingSlashMatch:Z
2: aload 0
iconst_0
putfield org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.lazyInitHandlers:Z
3: aload 0
new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
putfield org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.handlerMap:Ljava/util/Map;
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/web/servlet/handler/AbstractUrlHandlerMapping;
public void setRootHandler(java.lang.Object);
descriptor: (Ljava/lang/Object;)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.AbstractUrlHandlerMapping.rootHandler:Ljava/lang/Object;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/web/servlet/handler/AbstractUrlHandlerMapping;
0 2 1 rootHandler Ljava/lang/Object;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
rootHandler
public java.lang.Object getRootHandler();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.rootHandler:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/web/servlet/handler/AbstractUrlHandlerMapping;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
public void setUseTrailingSlashMatch(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.AbstractUrlHandlerMapping.useTrailingSlashMatch:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/web/servlet/handler/AbstractUrlHandlerMapping;
0 2 1 useTrailingSlashMatch Z
MethodParameters:
Name Flags
useTrailingSlashMatch
public boolean useTrailingSlashMatch();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.useTrailingSlashMatch:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/web/servlet/handler/AbstractUrlHandlerMapping;
public void setLazyInitHandlers(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.AbstractUrlHandlerMapping.lazyInitHandlers:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/web/servlet/handler/AbstractUrlHandlerMapping;
0 2 1 lazyInitHandlers Z
MethodParameters:
Name Flags
lazyInitHandlers
protected java.lang.Object getHandlerInternal(javax.servlet.http.HttpServletRequest);
descriptor: (Ljavax/servlet/http/HttpServletRequest;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.getUrlPathHelper:()Lorg/springframework/web/util/UrlPathHelper;
aload 1
invokevirtual org.springframework.web.util.UrlPathHelper.getLookupPathForRequest:(Ljavax/servlet/http/HttpServletRequest;)Ljava/lang/String;
astore 2
start local 2 1: aload 0
aload 2
aload 1
invokevirtual org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.lookupHandler:(Ljava/lang/String;Ljavax/servlet/http/HttpServletRequest;)Ljava/lang/Object;
astore 3
start local 3 2: aload 3
ifnonnull 14
3: aconst_null
astore 4
start local 4 4: ldc "/"
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
5: aload 0
invokevirtual org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.getRootHandler:()Ljava/lang/Object;
astore 4
6: StackMap locals: java.lang.String java.lang.Object java.lang.Object
StackMap stack:
aload 4
ifnonnull 8
7: aload 0
invokevirtual org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.getDefaultHandler:()Ljava/lang/Object;
astore 4
8: StackMap locals:
StackMap stack:
aload 4
ifnull 14
9: aload 4
instanceof java.lang.String
ifeq 12
10: aload 4
checkcast java.lang.String
astore 5
start local 5 11: aload 0
invokevirtual org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.obtainApplicationContext:()Lorg/springframework/context/ApplicationContext;
aload 5
invokeinterface org.springframework.context.ApplicationContext.getBean:(Ljava/lang/String;)Ljava/lang/Object;
astore 4
end local 5 12: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 1
invokevirtual org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.validateHandler:(Ljava/lang/Object;Ljavax/servlet/http/HttpServletRequest;)V
13: aload 0
aload 4
aload 2
aload 2
aconst_null
invokevirtual org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.buildPathExposingHandler:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)Ljava/lang/Object;
astore 3
end local 4 14: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/springframework/web/servlet/handler/AbstractUrlHandlerMapping;
0 15 1 request Ljavax/servlet/http/HttpServletRequest;
1 15 2 lookupPath Ljava/lang/String;
2 15 3 handler Ljava/lang/Object;
4 14 4 rawHandler Ljava/lang/Object;
11 12 5 handlerName Ljava/lang/String;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
request
protected java.lang.Object lookupHandler(java.lang.String, javax.servlet.http.HttpServletRequest);
descriptor: (Ljava/lang/String;Ljavax/servlet/http/HttpServletRequest;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=13, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.handlerMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 1: aload 3
ifnull 7
2: aload 3
instanceof java.lang.String
ifeq 5
3: aload 3
checkcast java.lang.String
astore 4
start local 4 4: aload 0
invokevirtual org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.obtainApplicationContext:()Lorg/springframework/context/ApplicationContext;
aload 4
invokeinterface org.springframework.context.ApplicationContext.getBean:(Ljava/lang/String;)Ljava/lang/Object;
astore 3
end local 4 5: StackMap locals: java.lang.Object
StackMap stack:
aload 0
aload 3
aload 2
invokevirtual org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.validateHandler:(Ljava/lang/Object;Ljavax/servlet/http/HttpServletRequest;)V
6: aload 0
aload 3
aload 1
aload 1
aconst_null
invokevirtual org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.buildPathExposingHandler:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)Ljava/lang/Object;
areturn
7: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 8: aload 0
getfield org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.handlerMap:Ljava/util/Map;
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 16
StackMap locals: org.springframework.web.servlet.handler.AbstractUrlHandlerMapping java.lang.String javax.servlet.http.HttpServletRequest java.lang.Object java.util.List top java.util.Iterator
StackMap stack:
9: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 10: aload 0
invokevirtual org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.getPathMatcher:()Lorg/springframework/util/PathMatcher;
aload 5
aload 1
invokeinterface org.springframework.util.PathMatcher.match:(Ljava/lang/String;Ljava/lang/String;)Z
ifeq 13
11: aload 4
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
12: goto 16
13: StackMap locals: org.springframework.web.servlet.handler.AbstractUrlHandlerMapping java.lang.String javax.servlet.http.HttpServletRequest java.lang.Object java.util.List java.lang.String java.util.Iterator
StackMap stack:
aload 0
invokevirtual org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.useTrailingSlashMatch:()Z
ifeq 16
14: aload 5
ldc "/"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 16
aload 0
invokevirtual org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.getPathMatcher:()Lorg/springframework/util/PathMatcher;
new java.lang.StringBuilder
dup
aload 5
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 1
invokeinterface org.springframework.util.PathMatcher.match:(Ljava/lang/String;Ljava/lang/String;)Z
ifeq 16
15: aload 4
new java.lang.StringBuilder
dup
aload 5
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 16: StackMap locals: org.springframework.web.servlet.handler.AbstractUrlHandlerMapping java.lang.String javax.servlet.http.HttpServletRequest java.lang.Object java.util.List top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
17: aconst_null
astore 5
start local 5 18: aload 0
invokevirtual org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.getPathMatcher:()Lorg/springframework/util/PathMatcher;
aload 1
invokeinterface org.springframework.util.PathMatcher.getPatternComparator:(Ljava/lang/String;)Ljava/util/Comparator;
astore 6
start local 6 19: aload 4
invokeinterface java.util.List.isEmpty:()Z
ifne 24
20: aload 4
aload 6
invokeinterface java.util.List.sort:(Ljava/util/Comparator;)V
21: aload 0
getfield org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 23
aload 4
invokeinterface java.util.List.size:()I
iconst_1
if_icmple 23
22: aload 0
getfield org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Matching patterns "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
23: StackMap locals: org.springframework.web.servlet.handler.AbstractUrlHandlerMapping java.lang.String javax.servlet.http.HttpServletRequest java.lang.Object java.util.List java.lang.String java.util.Comparator
StackMap stack:
aload 4
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.String
astore 5
24: StackMap locals:
StackMap stack:
aload 5
ifnull 49
25: aload 0
getfield org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.handlerMap:Ljava/util/Map;
aload 5
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 3
26: aload 3
ifnonnull 33
27: aload 5
ldc "/"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 29
28: aload 0
getfield org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.handlerMap:Ljava/util/Map;
aload 5
iconst_0
aload 5
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 3
29: StackMap locals:
StackMap stack:
aload 3
ifnonnull 33
30: new java.lang.IllegalStateException
dup
31: new java.lang.StringBuilder
dup
ldc "Could not find handler for best pattern match ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
32: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
33: StackMap locals:
StackMap stack:
aload 3
instanceof java.lang.String
ifeq 36
34: aload 3
checkcast java.lang.String
astore 7
start local 7 35: aload 0
invokevirtual org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.obtainApplicationContext:()Lorg/springframework/context/ApplicationContext;
aload 7
invokeinterface org.springframework.context.ApplicationContext.getBean:(Ljava/lang/String;)Ljava/lang/Object;
astore 3
end local 7 36: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 2
invokevirtual org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.validateHandler:(Ljava/lang/Object;Ljavax/servlet/http/HttpServletRequest;)V
37: aload 0
invokevirtual org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.getPathMatcher:()Lorg/springframework/util/PathMatcher;
aload 5
aload 1
invokeinterface org.springframework.util.PathMatcher.extractPathWithinPattern:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 7
start local 7 38: new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
astore 8
start local 8 39: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 10
goto 45
StackMap locals: org.springframework.web.servlet.handler.AbstractUrlHandlerMapping java.lang.String javax.servlet.http.HttpServletRequest java.lang.Object java.util.List java.lang.String java.util.Comparator java.lang.String java.util.Map top java.util.Iterator
StackMap stack:
40: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 9
start local 9 41: aload 6
aload 5
aload 9
invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
ifne 45
42: aload 0
invokevirtual org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.getPathMatcher:()Lorg/springframework/util/PathMatcher;
aload 9
aload 1
invokeinterface org.springframework.util.PathMatcher.extractUriTemplateVariables:(Ljava/lang/String;Ljava/lang/String;)Ljava/util/Map;
astore 11
start local 11 43: aload 0
invokevirtual org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.getUrlPathHelper:()Lorg/springframework/web/util/UrlPathHelper;
aload 2
aload 11
invokevirtual org.springframework.web.util.UrlPathHelper.decodePathVariables:(Ljavax/servlet/http/HttpServletRequest;Ljava/util/Map;)Ljava/util/Map;
astore 12
start local 12 44: aload 8
aload 12
invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
end local 12 end local 11 end local 9 45: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 40
46: aload 0
getfield org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 48
aload 8
invokeinterface java.util.Map.size:()I
ifle 48
47: aload 0
getfield org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "URI variables "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
48: StackMap locals: org.springframework.web.servlet.handler.AbstractUrlHandlerMapping java.lang.String javax.servlet.http.HttpServletRequest java.lang.Object java.util.List java.lang.String java.util.Comparator java.lang.String java.util.Map
StackMap stack:
aload 0
aload 3
aload 5
aload 7
aload 8
invokevirtual org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.buildPathExposingHandler:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)Ljava/lang/Object;
areturn
end local 8 end local 7 49: StackMap locals:
StackMap stack:
aconst_null
areturn
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 50 0 this Lorg/springframework/web/servlet/handler/AbstractUrlHandlerMapping;
0 50 1 urlPath Ljava/lang/String;
0 50 2 request Ljavax/servlet/http/HttpServletRequest;
1 50 3 handler Ljava/lang/Object;
4 5 4 handlerName Ljava/lang/String;
8 50 4 matchingPatterns Ljava/util/List<Ljava/lang/String;>;
10 16 5 registeredPattern Ljava/lang/String;
18 50 5 bestMatch Ljava/lang/String;
19 50 6 patternComparator Ljava/util/Comparator<Ljava/lang/String;>;
35 36 7 handlerName Ljava/lang/String;
38 49 7 pathWithinMapping Ljava/lang/String;
39 49 8 uriTemplateVariables Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
41 45 9 matchingPattern Ljava/lang/String;
43 45 11 vars Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
44 45 12 decodedVars Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
Exceptions:
throws java.lang.Exception
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
urlPath
request
protected void validateHandler(java.lang.Object, javax.servlet.http.HttpServletRequest);
descriptor: (Ljava/lang/Object;Ljavax/servlet/http/HttpServletRequest;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=3, args_size=3
start local 0 start local 1 start local 2 0: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/web/servlet/handler/AbstractUrlHandlerMapping;
0 1 1 handler Ljava/lang/Object;
0 1 2 request Ljavax/servlet/http/HttpServletRequest;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
handler
request
protected buildPathExposingHandler(, java.lang.String, java.lang.String, java.util.Map<java.lang.String, java.lang.String>);
descriptor: (Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new org.springframework.web.servlet.HandlerExecutionChain
dup
aload 1
invokespecial org.springframework.web.servlet.HandlerExecutionChain.<init>:(Ljava/lang/Object;)V
astore 5
start local 5 1: aload 5
new org.springframework.web.servlet.handler.AbstractUrlHandlerMapping$PathExposingHandlerInterceptor
dup
aload 0
aload 2
aload 3
invokespecial org.springframework.web.servlet.handler.AbstractUrlHandlerMapping$PathExposingHandlerInterceptor.<init>:(Lorg/springframework/web/servlet/handler/AbstractUrlHandlerMapping;Ljava/lang/String;Ljava/lang/String;)V
invokevirtual org.springframework.web.servlet.HandlerExecutionChain.addInterceptor:(Lorg/springframework/web/servlet/HandlerInterceptor;)V
2: aload 4
invokestatic org.springframework.util.CollectionUtils.isEmpty:(Ljava/util/Map;)Z
ifne 4
3: aload 5
new org.springframework.web.servlet.handler.AbstractUrlHandlerMapping$UriTemplateVariablesHandlerInterceptor
dup
aload 0
aload 4
invokespecial org.springframework.web.servlet.handler.AbstractUrlHandlerMapping$UriTemplateVariablesHandlerInterceptor.<init>:(Lorg/springframework/web/servlet/handler/AbstractUrlHandlerMapping;Ljava/util/Map;)V
invokevirtual org.springframework.web.servlet.HandlerExecutionChain.addInterceptor:(Lorg/springframework/web/servlet/HandlerInterceptor;)V
4: StackMap locals: org.springframework.web.servlet.HandlerExecutionChain
StackMap stack:
aload 5
areturn
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 5 0 this Lorg/springframework/web/servlet/handler/AbstractUrlHandlerMapping;
0 5 1 rawHandler Ljava/lang/Object;
0 5 2 bestMatchingPattern Ljava/lang/String;
0 5 3 pathWithinMapping Ljava/lang/String;
0 5 4 uriTemplateVariables Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
1 5 5 chain Lorg/springframework/web/servlet/HandlerExecutionChain;
Signature: (Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Ljava/lang/Object;
RuntimeVisibleParameterAnnotations:
0:
1:
2:
3:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
rawHandler
bestMatchingPattern
pathWithinMapping
uriTemplateVariables
protected void exposePathWithinMapping(java.lang.String, java.lang.String, javax.servlet.http.HttpServletRequest);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljavax/servlet/http/HttpServletRequest;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
getstatic org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE:Ljava/lang/String;
aload 1
invokeinterface javax.servlet.http.HttpServletRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
1: aload 3
getstatic org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE:Ljava/lang/String;
aload 2
invokeinterface javax.servlet.http.HttpServletRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/web/servlet/handler/AbstractUrlHandlerMapping;
0 3 1 bestMatchingPattern Ljava/lang/String;
0 3 2 pathWithinMapping Ljava/lang/String;
0 3 3 request Ljavax/servlet/http/HttpServletRequest;
MethodParameters:
Name Flags
bestMatchingPattern
pathWithinMapping
request
protected void exposeUriTemplateVariables(java.util.Map<java.lang.String, java.lang.String>, javax.servlet.http.HttpServletRequest);
descriptor: (Ljava/util/Map;Ljavax/servlet/http/HttpServletRequest;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
getstatic org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE:Ljava/lang/String;
aload 1
invokeinterface javax.servlet.http.HttpServletRequest.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/web/servlet/handler/AbstractUrlHandlerMapping;
0 2 1 uriTemplateVariables Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
0 2 2 request Ljavax/servlet/http/HttpServletRequest;
Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Ljavax/servlet/http/HttpServletRequest;)V
MethodParameters:
Name Flags
uriTemplateVariables
request
public org.springframework.web.servlet.handler.RequestMatchResult match(javax.servlet.http.HttpServletRequest, java.lang.String);
descriptor: (Ljavax/servlet/http/HttpServletRequest;Ljava/lang/String;)Lorg/springframework/web/servlet/handler/RequestMatchResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.getUrlPathHelper:()Lorg/springframework/web/util/UrlPathHelper;
aload 1
invokevirtual org.springframework.web.util.UrlPathHelper.getLookupPathForRequest:(Ljavax/servlet/http/HttpServletRequest;)Ljava/lang/String;
astore 3
start local 3 1: aload 0
invokevirtual org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.getPathMatcher:()Lorg/springframework/util/PathMatcher;
aload 2
aload 3
invokeinterface org.springframework.util.PathMatcher.match:(Ljava/lang/String;Ljava/lang/String;)Z
ifeq 3
2: new org.springframework.web.servlet.handler.RequestMatchResult
dup
aload 2
aload 3
aload 0
invokevirtual org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.getPathMatcher:()Lorg/springframework/util/PathMatcher;
invokespecial org.springframework.web.servlet.handler.RequestMatchResult.<init>:(Ljava/lang/String;Ljava/lang/String;Lorg/springframework/util/PathMatcher;)V
areturn
3: StackMap locals: java.lang.String
StackMap stack:
aload 0
invokevirtual org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.useTrailingSlashMatch:()Z
ifeq 6
4: aload 2
ldc "/"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 6
aload 0
invokevirtual org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.getPathMatcher:()Lorg/springframework/util/PathMatcher;
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 3
invokeinterface org.springframework.util.PathMatcher.match:(Ljava/lang/String;Ljava/lang/String;)Z
ifeq 6
5: new org.springframework.web.servlet.handler.RequestMatchResult
dup
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 3
aload 0
invokevirtual org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.getPathMatcher:()Lorg/springframework/util/PathMatcher;
invokespecial org.springframework.web.servlet.handler.RequestMatchResult.<init>:(Ljava/lang/String;Ljava/lang/String;Lorg/springframework/util/PathMatcher;)V
areturn
6: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/springframework/web/servlet/handler/AbstractUrlHandlerMapping;
0 7 1 request Ljavax/servlet/http/HttpServletRequest;
0 7 2 pattern Ljava/lang/String;
1 7 3 lookupPath Ljava/lang/String;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
request
pattern
protected void registerHandler(java.lang.String[], java.lang.String);
descriptor: ([Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ldc "URL path array must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 1
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 5
StackMap locals: org.springframework.web.servlet.handler.AbstractUrlHandlerMapping java.lang.String[] java.lang.String top int int java.lang.String[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: aload 0
aload 3
aload 2
invokevirtual org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.registerHandler:(Ljava/lang/String;Ljava/lang/Object;)V
end local 3 4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
iload 5
if_icmplt 2
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/springframework/web/servlet/handler/AbstractUrlHandlerMapping;
0 7 1 urlPaths [Ljava/lang/String;
0 7 2 beanName Ljava/lang/String;
3 4 3 urlPath Ljava/lang/String;
Exceptions:
throws org.springframework.beans.BeansException, java.lang.IllegalStateException
MethodParameters:
Name Flags
urlPaths
beanName
protected void registerHandler(java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ldc "URL path must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 2
ldc "Handler object must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
2: aload 2
astore 3
start local 3 3: aload 0
getfield org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.lazyInitHandlers:Z
ifne 8
aload 2
instanceof java.lang.String
ifeq 8
4: aload 2
checkcast java.lang.String
astore 4
start local 4 5: aload 0
invokevirtual org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.obtainApplicationContext:()Lorg/springframework/context/ApplicationContext;
astore 5
start local 5 6: aload 5
aload 4
invokeinterface org.springframework.context.ApplicationContext.isSingleton:(Ljava/lang/String;)Z
ifeq 8
7: aload 5
aload 4
invokeinterface org.springframework.context.ApplicationContext.getBean:(Ljava/lang/String;)Ljava/lang/Object;
astore 3
end local 5 end local 4 8: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.handlerMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 9: aload 4
ifnull 16
10: aload 4
aload 3
if_acmpeq 29
11: new java.lang.IllegalStateException
dup
12: new java.lang.StringBuilder
dup
ldc "Cannot map "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
aload 2
invokevirtual org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.getHandlerDescription:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " to URL path ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
13: ldc "]: There is already "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
aload 4
invokevirtual org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.getHandlerDescription:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " mapped."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
14: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
15: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals: java.lang.Object
StackMap stack:
aload 1
ldc "/"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 21
17: aload 0
getfield org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 19
18: aload 0
getfield org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Root mapping to "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
aload 2
invokevirtual org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.getHandlerDescription:(Ljava/lang/Object;)Ljava/lang/String;
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.trace:(Ljava/lang/Object;)V
19: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.setRootHandler:(Ljava/lang/Object;)V
20: goto 29
21: StackMap locals:
StackMap stack:
aload 1
ldc "/*"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 26
22: aload 0
getfield org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 24
23: aload 0
getfield org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Default mapping to "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
aload 2
invokevirtual org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.getHandlerDescription:(Ljava/lang/Object;)Ljava/lang/String;
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.trace:(Ljava/lang/Object;)V
24: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.setDefaultHandler:(Ljava/lang/Object;)V
25: goto 29
26: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.handlerMap:Ljava/util/Map;
aload 1
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
27: aload 0
getfield org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 29
28: aload 0
getfield org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Mapped ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "] onto "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
aload 2
invokevirtual org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.getHandlerDescription:(Ljava/lang/Object;)Ljava/lang/String;
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.trace:(Ljava/lang/Object;)V
29: 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 30 0 this Lorg/springframework/web/servlet/handler/AbstractUrlHandlerMapping;
0 30 1 urlPath Ljava/lang/String;
0 30 2 handler Ljava/lang/Object;
3 30 3 resolvedHandler Ljava/lang/Object;
5 8 4 handlerName Ljava/lang/String;
6 8 5 applicationContext Lorg/springframework/context/ApplicationContext;
9 30 4 mappedHandler Ljava/lang/Object;
Exceptions:
throws org.springframework.beans.BeansException, java.lang.IllegalStateException
MethodParameters:
Name Flags
urlPath
handler
private java.lang.String getHandlerDescription(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.lang.String
ifeq 1
new java.lang.StringBuilder
dup
ldc "'"
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;
goto 2
StackMap locals:
StackMap stack:
1: aload 1
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/web/servlet/handler/AbstractUrlHandlerMapping;
0 3 1 handler Ljava/lang/Object;
MethodParameters:
Name Flags
handler
public final java.util.Map<java.lang.String, java.lang.Object> getHandlerMap();
descriptor: ()Ljava/util/Map;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.handlerMap:Ljava/util/Map;
invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/web/servlet/handler/AbstractUrlHandlerMapping;
Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
protected boolean supportsTypeLevelMappings();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/web/servlet/handler/AbstractUrlHandlerMapping;
}
SourceFile: "AbstractUrlHandlerMapping.java"
NestMembers:
org.springframework.web.servlet.handler.AbstractUrlHandlerMapping$PathExposingHandlerInterceptor org.springframework.web.servlet.handler.AbstractUrlHandlerMapping$UriTemplateVariablesHandlerInterceptor
InnerClasses:
private PathExposingHandlerInterceptor = org.springframework.web.servlet.handler.AbstractUrlHandlerMapping$PathExposingHandlerInterceptor of org.springframework.web.servlet.handler.AbstractUrlHandlerMapping
private UriTemplateVariablesHandlerInterceptor = org.springframework.web.servlet.handler.AbstractUrlHandlerMapping$UriTemplateVariablesHandlerInterceptor of org.springframework.web.servlet.handler.AbstractUrlHandlerMapping