Hei. POST 메서드를 사용하여 JSP에서 Servlet으로 일부 정보를 전송합니다. POST 메서드를 통해 "+"문자를 보낼 때 공백 문자로 바뀌는 이유를 이해할 수 없습니다. 예 : 다음 문자열을 입력 할 때 : 4 + 5 -> 서블릿은 4 5를 반환합니다. 그것은 모든 "+"표시를 대체합니다. 이 문제를 어떻게 해결할 수 있습니까? 그 후에 표현식을 평가해야하기 때문에 "+"문자가 실제로 표시되어야합니다.POST 메서드가 '+'문자를 대체합니다.
3
A
답변
3
형식 변수에 URL 인코딩이 전송됩니다. "+"더하기 문자는 공백을 URL 인코딩 한 것입니다.
은 참조 : AJAX POST and Plus Sign (+) -- How to Encode?
리터럴 더하기 기호를 보내려면 , 당신이 중 하나를 자바 스크립트 또는 하드 코딩 "%의 2B '를 통해 인코딩 URL을해야합니다.
1
데이터를 서버로 보내기 전에 URLEncode
데이터가 필요합니다. 서버가 인코딩되지 않은 데이터를 디코딩하려고 시도하면 결과적으로 +
이 공간으로 디코딩됩니다.
1
W3 document on HTTP form submission에 설명 된 것처럼 서블릿에서 데이터가 URL 인코딩으로 도착할 것으로 예상됩니다. POST를 위해 내용 유형을 변경하거나 보내려는 데이터를 (더 잘) 인코딩해야합니다. "+"기호를 "% 2B"로 인코딩 할 수 있습니다.
1
URL을 인코딩 할 때 +
문자는 공백을 나타냅니다. 당신이 URL이 문자를 사용해야하는 경우는 다음과 같이 이스케이프해야합니다 :
4+5
는
4%2B5
관련 문제
- 1. Regex가 내부의 문자를 대체합니다.
- 2. 파이썬은 문자열에서 선택적으로 문자를 대체합니다.
- 3. Javascript는 빈 문자열로 특수 문자를 대체합니다.
- 4. JSTL은 변수의 문자를 HTML 태그로 대체합니다.
- 5. 자바 스크립트 정규식은 html 문자를 대체합니다
- 6. RKObjectLoaderDelegate 메서드가 post : params : delegate :
- 7. POST 메서드가 JQuery에서 작동하지 않습니다.
- 8. POST 메서드가 요청 헤더와 함께 작동하지 않습니다.
- 9. $ .post 메서드가 IE에서 작동하지 않는 이유는 무엇입니까?
- 10. 플라스크 - POST 오류 405 메서드가 허용되지 않습니다.
- 11. POST 메서드가 Netbeans/REST에서 오류가 발생했습니다
- 12. 문자열은 단어 배열에서 대소 문자를 구별하지 않는 정확한 일치를 대체합니다.
- 13. 문자 래퍼를 사용하여 문자열의 문자를 새 문자로 대체합니다.
- 14. ASP 요청 메서드가 은선 피드 및 탭 문자를 표시하지 않습니다.
- 15. JavaScript reoccurrence가 innerHTML을 대체합니다.
- 16. Adapter.getView를 대체합니다.
- 17. 이미지는 입력 요소를 대체합니다.
- 18. regex_replace 특정 HTML 태그를 대체합니다.
- 19. NSWindow 닫기 버튼을 대체합니다.
- 20. 안드로이드는 TextWatcher를 사용하여 단어를 대체합니다
- 21. 개체를 추가하는 POST 메서드가 실패 할 때 어떤 HttpStatusCode를 반환해야합니까?
- 22. "POST"메서드가 "type = file"변수를 전달하지 않는 이유는 무엇입니까?
- 23. 보내기 json 개체 있지만 POST 메서드가 지원되지 않습니다.
- 24. HTTP POST 요청이 작동하지 않고 대리자 메서드가 호출되지 않습니다.
- 25. WCF 메서드가 GET/POST 메서드에서 400 개의 잘못된 요청을 제공합니다.
- 26. 레일 current_page? 메서드가 POST 일 때 "실패"합니다.
- 27. 받은 HTTP 메서드가 유효하지 않습니다. POST 만 받아 들여집니다
- 28. Netbeans가 정규 표현식으로 대체합니다.
- 29. #defines constants를 대체합니다.
- 30. AIX에서 공유 라이브러리를 대체합니다.
어울린다 "+"특수 문자입니다. URL에서이를 "% 2B"로 바꾸어 인코딩해야합니다. 다음은 특수 문자 대체 목록입니다. http://www.blooberry.com/indexdot/html/topics/urlencoding.htm –
@BenoitCourtine 데이터가 URL의 일부가 아닌 POST를 통해 전송됩니다. 그러나이 게시물은 content-type application/x-www-form-urlencoded와 함께 전송 될 가능성이 높으므로 기본 사항이 여전히 유효합니다. –