2017-11-16 19 views
1

Tomcat (나는 믿습니다) 컨테이너에있는 기존의 Spring 4 응용 프로그램에서 작업하고 있습니다.Java Tomcat 8.5/Spring 4는 URL에서 다중 간격을 제거합니다.

문제점 :

문자열 제어기 매개 변수를 수신하고 상기 URL 내의 여러 공간을 제거하지만 그것이 포함 할

예 :

@RequestMapping(value = "/getData/{name}", method = RequestMethod.GET) 

/getData/Joe%20Bloggs/과 함께 제출하면 이름 변수는 'Joe Bloggs'가됩니다

그러나 /getData/Joe%20%20%20Bloggs/이면 변수는 'Joe Bloggs'로 남습니다. 여러 공백은 무시됩니다.


이 기능이 정의되는 위치와 이것이 Tomcat 컨테이너 또는 Spring 프레임 워크에 의해 수행되는지 여부에 대해 알고 싶습니다.

답변

0

아래로 requestmapping을 수정

이 가
+0

실제로이 시도하지만 아무것도 변경하는 것 같지 않았어요, 당신은 알고

@RequestMapping(value = "/getData/{name:.+}", method = RequestMethod.GET) 
무엇을하고 '+.'? 인수 변수는 여전히 디버그 이클립스 디버그에서 스택 추적 위로 더 이상 제거 된 공간이 있습니다 –

+0

'. +'는 정규식입니다. URL의 모든 문자와 일치합니다. 글래스 피쉬와 스프링 5를 사용해 보았습니다. 정규식의 유무에 관계없이 잘 작동합니다. – Sattyaki