Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
爱吃血肠
spring-framework
提交
d97a4b5b
S
spring-framework
项目概览
爱吃血肠
/
spring-framework
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
spring-framework
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
d97a4b5b
编写于
7月 05, 2012
作者:
J
Juergen Hoeller
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
polishing
上级
59657105
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
10 addition
and
21 deletion
+10
-21
spring-webmvc/src/main/java/org/springframework/web/servlet/handler/AbstractHandlerMethodMapping.java
...ork/web/servlet/handler/AbstractHandlerMethodMapping.java
+10
-21
未找到文件。
spring-webmvc/src/main/java/org/springframework/web/servlet/handler/AbstractHandlerMethodMapping.java
浏览文件 @
d97a4b5b
...
...
@@ -25,13 +25,11 @@ import java.util.LinkedHashMap;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
javax.servlet.ServletException
;
import
javax.servlet.http.HttpServletRequest
;
import
org.springframework.beans.factory.BeanFactoryUtils
;
import
org.springframework.beans.factory.InitializingBean
;
import
org.springframework.context.ApplicationContextException
;
import
org.springframework.util.ClassUtils
;
import
org.springframework.util.LinkedMultiValueMap
;
import
org.springframework.util.MultiValueMap
;
...
...
@@ -62,6 +60,7 @@ public abstract class AbstractHandlerMethodMapping<T> extends AbstractHandlerMap
private
final
MultiValueMap
<
String
,
T
>
urlMap
=
new
LinkedMultiValueMap
<
String
,
T
>();
/**
* Whether to detect handler methods in beans in ancestor ApplicationContexts.
* <p>Default is "false": Only beans in the current ApplicationContext are
...
...
@@ -78,15 +77,7 @@ public abstract class AbstractHandlerMethodMapping<T> extends AbstractHandlerMap
* Return a map with all handler methods and their mappings.
*/
public
Map
<
T
,
HandlerMethod
>
getHandlerMethods
()
{
return
Collections
.
unmodifiableMap
(
handlerMethods
);
}
/**
* ApplicationContext initialization.
*/
@Override
public
void
initApplicationContext
()
throws
ApplicationContextException
{
super
.
initApplicationContext
();
return
Collections
.
unmodifiableMap
(
this
.
handlerMethods
);
}
/**
...
...
@@ -158,7 +149,6 @@ public abstract class AbstractHandlerMethodMapping<T> extends AbstractHandlerMap
/**
* Provide the mapping for a handler method. A method for which no
* mapping can be provided is not a handler method.
*
* @param method the method to provide a mapping for
* @param handlerType the handler type, possibly a sub-type of the method's
* declaring class
...
...
@@ -168,7 +158,6 @@ public abstract class AbstractHandlerMethodMapping<T> extends AbstractHandlerMap
/**
* Register a handler method and its unique mapping.
*
* @param handler the bean name of the handler or the handler instance
* @param method the method to register
* @param mapping the mapping conditions associated with the handler method
...
...
@@ -192,7 +181,7 @@ public abstract class AbstractHandlerMethodMapping<T> extends AbstractHandlerMap
+
oldHandlerMethod
.
getBean
()
+
"' bean method\n"
+
oldHandlerMethod
+
" mapped."
);
}
handlerMethods
.
put
(
mapping
,
handlerMethod
);
this
.
handlerMethods
.
put
(
mapping
,
handlerMethod
);
if
(
logger
.
isInfoEnabled
())
{
logger
.
info
(
"Mapped \""
+
mapping
+
"\" onto "
+
handlerMethod
);
}
...
...
@@ -200,7 +189,7 @@ public abstract class AbstractHandlerMethodMapping<T> extends AbstractHandlerMap
Set
<
String
>
patterns
=
getMappingPathPatterns
(
mapping
);
for
(
String
pattern
:
patterns
)
{
if
(!
getPathMatcher
().
isPattern
(
pattern
))
{
urlMap
.
add
(
pattern
,
mapping
);
this
.
urlMap
.
add
(
pattern
,
mapping
);
}
}
}
...
...
@@ -237,11 +226,9 @@ public abstract class AbstractHandlerMethodMapping<T> extends AbstractHandlerMap
/**
* Look up the best-matching handler method for the current request.
* If multiple matches are found, the best match is selected.
*
* @param lookupPath mapping lookup path within the current servlet mapping
* @param request the current request
* @return the best-matching handler method, or {@code null} if no match
*
* @see #handleMatch(Object, String, HttpServletRequest)
* @see #handleNoMatch(Set, String, HttpServletRequest)
*/
...
...
@@ -298,7 +285,6 @@ public abstract class AbstractHandlerMethodMapping<T> extends AbstractHandlerMap
/**
* Check if a mapping matches the current request and return a (potentially
* new) mapping with conditions relevant to the current request.
*
* @param mapping the mapping to get a match for
* @param request the current HTTP servlet request
* @return the match, or {@code null} if the mapping doesn't match
...
...
@@ -332,9 +318,11 @@ public abstract class AbstractHandlerMethodMapping<T> extends AbstractHandlerMap
*/
protected
HandlerMethod
handleNoMatch
(
Set
<
T
>
mappings
,
String
lookupPath
,
HttpServletRequest
request
)
throws
Exception
{
return
null
;
}
/**
* A temporary container for a mapping matched to a request.
*/
...
...
@@ -351,10 +339,11 @@ public abstract class AbstractHandlerMethodMapping<T> extends AbstractHandlerMap
@Override
public
String
toString
()
{
return
mapping
.
toString
();
return
this
.
mapping
.
toString
();
}
}
private
class
MatchComparator
implements
Comparator
<
Match
>
{
private
final
Comparator
<
T
>
comparator
;
...
...
@@ -364,8 +353,8 @@ public abstract class AbstractHandlerMethodMapping<T> extends AbstractHandlerMap
}
public
int
compare
(
Match
match1
,
Match
match2
)
{
return
comparator
.
compare
(
match1
.
mapping
,
match2
.
mapping
);
return
this
.
comparator
.
compare
(
match1
.
mapping
,
match2
.
mapping
);
}
}
}
\ No newline at end of file
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录