http://localhost:8080/login/userLOgin
http://localhost:8080/LogiN/userLOgin
http://localhost:8080/login/userlogin
http://localhost:8080/Login/UserLogin
|
1
2
3
4
5
6
7
|
public class CaseInsenseticePathMatcher extends AntPathMatcher { @Override protected boolean doMatch(String pattern, String path, boolean fullMatch, Map<String, String> uriTemplateVariables) { System.err.println(pattern + " -- " + path); return super.doMatch(pattern.toLowerCase(), path.toLowerCase(), fullMatch, uriTemplateVariables); }} |
applicationContext.xml:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
<bean id="matcher" class="test.CaseInsenseticePathMatcher"/><bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"> <property name="pathMatcher" ref="matcher"/></bean><bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="pathMatcher" ref="matcher"/> <property name="webBindingInitializer"> <bean class="org.springframework.web.bind.support.ConfigurableWebBindingInitializer"/> </property> <property name="messageConverters"> <list> <bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter"/> <bean class="org.springframework.http.converter.StringHttpMessageConverter"/> <bean class="org.springframework.http.converter.FormHttpMessageConverter"/> <bean class="org.springframework.http.converter.xml.SourceHttpMessageConverter"/> </list> </property></bean><bean id="conversion-service" class="org.springframework.format.support.FormattingConversionServiceFactoryBean"/> |
简化后的applicationContext.xml: 必须配置HandlerMapping、HandlerAdapter(即Controller和Action)
|
1
2
3
4
5
6
7
8
9
10
11
|
<bean id="matcher" class="com.le.lej.common.CaseInsenseticePathMatcher" /> <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"> <property name="pathMatcher" ref="matcher" /> </bean> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="pathMatcher" ref="matcher" /> </bean> |

二、解决方案Two(需要Spring4.2以上支持)
|
1
2
3
4
5
6
7
8
9
|
@Configurationpublic class WebConfig extends WebMvcConfigurerAdapter { @Override public void configurePathMatch(PathMatchConfigurer configurer) { AntPathMatcher matcher = new AntPathMatcher(); matcher.setCaseSensitive(false); configurer.setPathMatcher(matcher); }} |

SpringMvc_@RequestMapping大小写不敏感Case Insensitive
原文:http://www.cnblogs.com/gossip/p/5441358.html