설 연수
하하호홓
설 연수
전체 방문자
오늘
어제
  • 분류 전체보기 (231)
    • Back-End (2)
      • Java (20)
      • JSP (13)
      • Spring (18)
      • Kotlin (0)
      • node.js (0)
    • Front-End (68)
      • JavaScript (19)
      • jQuery (39)
      • Angular (4)
      • HTML (5)
    • Dev-Ops (12)
      • Linux, Cloud (5)
      • docker, k8s (5)
      • ElasticSeach (2)
    • Other (33)
      • OOP (3)
      • 알고리즘 (2)
      • DB (12)
      • Git (1)
      • Swift (4)
    • Backup (65)

블로그 메뉴

    공지사항

    인기 글

    태그

    • Redis
    • angular callback
    • RESTful
    • 404 error
    • angular 콜백
    • mongodb
    • MYSQL
    • jOOQ
    • Kafka
    • INVALID
    • page not found
    • 패스트캠퍼스
    • angular2
    • docker
    • angular4
    • flex
    • Angular
    • jquery invalid
    • CORS
    • 크로스도메인

    최근 댓글

    최근 글

    티스토리

    hELLO · Designed By 정상우.
    설 연수

    하하호홓

    Back-End/JSP

    GET, POST 인코딩 결정 규칙

    2012. 9. 18. 15:19

    Get 방식으로 파라미터 전송 시 인코딩 결정 규칙

    A tag, get 방식은 웹 페이지 인코딩을 사용하지만 주소창 입력은 웹브라우저 마다 인코딩 방식이 다르다. Get 방식으로 전달되는 파라미터 값에 대한 표준 인코딩 규칙이 정해져 있지 않기 때문에 WAS마다 파라미터 값을 읽어올 때 사용하는 기본 캐릭터 셋도 다르다.(tomcat6.0은 기본적으로 ISO-8859-1)

    또한 get 방식으로 전송된 파라미터에 대해서는 request.setCharacterEncoding() 메서드가 적용되지 않는다.

    서블릿 규약에 따르면 setCharacterEncoding() 메서드는 HTTP 프로토콜의 데이터 영역을 인코딩 할 때 사용한 캐릭터 셋을 지정할 때 사용된다.

     

    톰캣에서 Get방식 파라미터를 위한 인코딩 처리하기

    Server.xml 파일에서 <Connector>의 useBodyEncodingForURI 속성의 값을 true로 지정하는 방법

    Server.xml 파일에서 <Connector>의 URIEncoding 속성의 값으로 원하는 캐릭터 셋을 지정하는 방법

     

    useBodyEncodingForURI 속성을 적용하면 get방식으로 파라미터 값을 읽어올 때 setCharacterEncoding() 메서드로 지정한 캐릭터 셋이 적용된다.

    URIEncoding 속성을 적용하면 setCharacterEncoding() 메서드로 지정한 캐릭터 셋은 적용되지 않는다.

     

     

    기본 적용시

    A href:문자열 깨짐

    Get 방식:문자열 깨짐

    Post 방식 request.setCharacterEncoding() 메서드가 선언되어 있지 않으면 받는 쪽에서는 문자열이 깨짐

    주소창 입력:문자열 깨짐

     

    useBodyEncodingForURI 적용시

    a href: request.setCharacterEncoding() 메서드가 선언되어 있지 않으면 받는 쪽에서는 문자열이 깨짐

    get방식: request.setCharacterEncoding() 메서드가 선언되어 있지 않으면 받는 쪽에서는 문자열이 깨짐

    post방식: request.setCharacterEncoding() 메서드가 선언되어 있지 않으면 받는 쪽에서는 문자열이 깨짐

    주소창 입력: request.setCharacterEncoding를 선언해도 깨짐(ie, firefox)

     

    URIEncoding=UTF-8 적용시

    A href:정상

    Get:정상

    Post: request.setCharacterEnding을 선언하지 않으면 깨짐

    주소창 입력: request.setCharacterEncoding을 선언하여도 깨짐(ie,firefox)

     

    참고

    http://minslovey.tistory.com/tag/useBodyEncodingForURI

    http://www.okjsp.pe.kr/seq/62578

    http://blog.naver.com/yhcyksyh/40057257709

    최범균의 JSP 2.1 웹프로그래밍, 최범균, 가메출판사

    [출처] GET, POST 인코딩 결정 규칙|작성자 쿠쿠




    http://blog.naver.com/cuckoo03/120123343126

    [출처] GET, POST 인코딩 결정 규칙|작성자 쿠쿠


    저작자표시 (새창열림)

    'Back-End > JSP' 카테고리의 다른 글

    tomcat 실제 deploy경로, _jsp.java 파일 경로, jsp컴파일 경로.  (0) 2015.07.22
    톰켓포트 죽이기  (0) 2013.03.18
    Jsp 게시판 뒤로가기 관련 문제 [출처] Jsp 게시판 뒤로가기 관련 문제|작성자 자몽  (0) 2012.09.14
    jQueryTree) ArrayList이용해서 트리메뉴 뿌리기  (0) 2012.09.10
    서블릿 매핑!!  (0) 2012.03.05
      'Back-End/JSP' 카테고리의 다른 글
      • tomcat 실제 deploy경로, _jsp.java 파일 경로, jsp컴파일 경로.
      • 톰켓포트 죽이기
      • Jsp 게시판 뒤로가기 관련 문제 [출처] Jsp 게시판 뒤로가기 관련 문제|작성자 자몽
      • jQueryTree) ArrayList이용해서 트리메뉴 뿌리기
      설 연수
      설 연수

      티스토리툴바