본문 바로가기

IT노트(구)/Java

url로 데이터를 전송할 때 +가 공백으로 인지되는 문제

request.getParameter()로 데이터를 받을 때

+는 공백으로 넘어오는 문제점이 있다.(이 문제 때문에 정말 엄청난 고생을 했었다.ㅠ)

문제가 될 수 있는 특수문자는 &, + 두 개인데

&는 원래부터 안되는 것이 비교적 명확하다고 할 수 있는데

+는 전혀 예상하지도 못한 놈이었다.(물론 아는 사람은 원래부터 알고 계셨겠지만.ㅠ)

이런 황당한 문제를 원천적으로 방지하기 위해서는

데이터를 전송할 때 무조건 url 인코딩을 하는 습관을 들여야만 할 것 같다.

일단은 급해서 다음과 같이 + 예외 처리를 했지만(문제는 해결되었다.)

str.replaceAll(" ", "+");

당연히 근본적인 처방은 아니다.ㅠ