Possible Duplicate:
How can I have case insensitive URLS in Spring MVC with annotated mappings
I have Controller having multiple @RequestMapping annotations in it.
@Controller
public class SignUpController {
@RequestMapping("signup")
public String showSignUp() throws Exception {
return "somejsp";
}
@RequestMapping("fullSignup")
public String showFullSignUp() throws Exception {
return "anotherjsp";
}
@RequestMapping("signup/createAccount")
public String createAccount() throws Exception {
return "anyjsp";
}
}
How can I map these @RequestMapping to case insensitive. i.e. if I use “/fullsignup” or “/fullSignup” I should get “anotherjsp”. But this is not happening right now. Only “/fullSignup” is working fine.
I’ve tried extending RequestMappingHandlerMapping but no success. I’ve also tried AntPathMatcher like the guy mentioned there is another question on this forum but its also not working for @RequestMapping annotation.
Debugging console

Output console when server is up.

I’ve added two images which shows the problem. I’ve tried both the solutions mentioned below. The console says that it mapped lowercased URLS but when I request to access a method with lowercase url then it shows that the original map where the values are stored stilled contained MixCase URLS.
One of the approaches in How can I have case insensitive URLS in Spring MVC with annotated mappings works perfectly. I just tried it with combinations of @RequestMapping at the level of controller and request methods and it has worked cleanly, I am just reproducing it here for Spring 3.1.2:
The CaseInsensitivePathMatcher:
Registering this path matcher with Spring MVC, remove the
<mvc:annotation-driven/>annotation, and replace with the following, configure appropriately:Or even more easily and cleanly using @Configuration: