%와 & 처리
- 작성자 :
- 황*현
- 작성일 :
- 2015-11-20 14:05:31
- 조회수 :
- 904
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
얼마전 아해 주소에 있는 질문을 올린 적이 있습니다.
http://www.egovframe.go.kr/uss/olh/qna/QnaInqireCoUpdt.do?menu=4&submenu=6
도통 답변을 이해하지 못하여 다시 질문 올립니다.
현재 발견한 상황은
1) % 입력후 submit시 Exception이 발생합니다. 발생하는 exception은 첩부하였습니다.
2) & 입력을 하면 Exception은 발생하지 않지만 이상하게 시리 !!&&aaa 이렇게 입력후 submit을 하게되면 &문자 뒤의 내용은 전부 날라가게 됩니다.
늑 !!@@aaa로 보내면 !!만 java에서 받습니다.
처음에는 특수문자라 인식을 못하나 햿지만 다른 특수 문자들 】 나 ¢ 등등 잘 사용하지 않는 특수문자들도 잘 전송되고 받던데 키보드에서 입력하는
%와 & 이것 둘만 이상하게 값이 처리가 됐습니다.
또 이상한건 ㄹ + 한자 키를 눌러 입력한 '%' 키와 ㅁ 한자 키를 눌러 입력한 '&' 는 정상적으로 받아 들인다는 것입니다.
ㅁ + 한자 키 ㄹ + 한자 키로 받은 글자는 분명 특수문자라 특수문자 처리는 가능한것 같은데
이상하게 키보드로 입력한 %, & 문자는 제대로 인식을 못하고 있습니다.
JAVA에서 받는 타입은 모두 String 타입입니다.
이 부분을 어떻게 해결할지 막막합니다.
일단은 애매로 아래와 같이 처리했지만 이것은 정상적인 처리방법이 아니라고 생각합니다.
.replaceAll("%","%").replaceAll("&","&")
도저히 방법을 알지못해 답답합니다. 해결책이 있을까요??
http://www.egovframe.go.kr/uss/olh/qna/QnaInqireCoUpdt.do?menu=4&submenu=6
도통 답변을 이해하지 못하여 다시 질문 올립니다.
현재 발견한 상황은
1) % 입력후 submit시 Exception이 발생합니다. 발생하는 exception은 첩부하였습니다.
2) & 입력을 하면 Exception은 발생하지 않지만 이상하게 시리 !!&&aaa 이렇게 입력후 submit을 하게되면 &문자 뒤의 내용은 전부 날라가게 됩니다.
늑 !!@@aaa로 보내면 !!만 java에서 받습니다.
처음에는 특수문자라 인식을 못하나 햿지만 다른 특수 문자들 】 나 ¢ 등등 잘 사용하지 않는 특수문자들도 잘 전송되고 받던데 키보드에서 입력하는
%와 & 이것 둘만 이상하게 값이 처리가 됐습니다.
또 이상한건 ㄹ + 한자 키를 눌러 입력한 '%' 키와 ㅁ 한자 키를 눌러 입력한 '&' 는 정상적으로 받아 들인다는 것입니다.
ㅁ + 한자 키 ㄹ + 한자 키로 받은 글자는 분명 특수문자라 특수문자 처리는 가능한것 같은데
이상하게 키보드로 입력한 %, & 문자는 제대로 인식을 못하고 있습니다.
JAVA에서 받는 타입은 모두 String 타입입니다.
이 부분을 어떻게 해결할지 막막합니다.
일단은 애매로 아래와 같이 처리했지만 이것은 정상적인 처리방법이 아니라고 생각합니다.
.replaceAll("%","%").replaceAll("&","&")
도저히 방법을 알지못해 답답합니다. 해결책이 있을까요??
A
황의현님, 안녕하세요.
첫번째 문의건에서는 컨트롤러에서 RequestParam 어노테이션이 선언된 경우, 파라미터의 값이 없기 때문에 생기는 오류로 보입니다.
'%' 문자가 로직에서 유실되거나 하는 문제가 발생하는 것은 아닌지 테스트가 필요할 것 같습니다. 센터측에서 테스트했을 경우 단일문자 '%' 만 넘기더라도 정상적으로 입력이 가능합니다.
두번째 문의에서는 '&' 기호가 파라미터가 여러개가 들어올 경우 구분자의 역할을 하기 때문에, 별도의 인코딩이 없으면 말씀하신대로 뒤의 파라미터 값이 잘리는 문제가 발생할 수 있습니다.
URIEncoding 등의 처리를 해주셔야 할 것 같습니다.
아래의 외부 링크를 참고하여 테스트 해보시기 바랍니다.
http://tigerconcept1.tistory.com/13
감사합니다.
첫번째 문의건에서는 컨트롤러에서 RequestParam 어노테이션이 선언된 경우, 파라미터의 값이 없기 때문에 생기는 오류로 보입니다.
'%' 문자가 로직에서 유실되거나 하는 문제가 발생하는 것은 아닌지 테스트가 필요할 것 같습니다. 센터측에서 테스트했을 경우 단일문자 '%' 만 넘기더라도 정상적으로 입력이 가능합니다.
두번째 문의에서는 '&' 기호가 파라미터가 여러개가 들어올 경우 구분자의 역할을 하기 때문에, 별도의 인코딩이 없으면 말씀하신대로 뒤의 파라미터 값이 잘리는 문제가 발생할 수 있습니다.
URIEncoding 등의 처리를 해주셔야 할 것 같습니다.
아래의 외부 링크를 참고하여 테스트 해보시기 바랍니다.
http://tigerconcept1.tistory.com/13
감사합니다.