서블릿 한글 깨짐 방지


HTML에서 입력한 파라미터 값에 한글이 포함되어 있다면 한글 인코딩 작업을 해야한다.
브라우저에서 문자를 처리하는 방식과 서버에서 문자를 처리하는 방식이 일치해야 한글이 깨지지 않는다.
톰캣서버의 기본문자 처리방식은 ISO-8859-1라서 한글 인식이 제대로 되지 않는다.

요청 방식에 따라 달리 처리해줘야 한다.
POST - 파라미터 값을 얻기전에 doGet 메소드에서 request.setCharacterEncoding("UTF-8"); 메소드로 한글 인코딩을 처리한다.
GET - 톰캣 설정 파일인 server.xml을 수정해야 한다. Connector 태그에 URIEncoding="UTF-8" 값을 추가해야 한다.
        8080포트로 직접 요청한 경우 
       <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/>
        아파치에서 톰캣 커넥터를 통해 톰캣을 연결한 경우
        <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8"/>

+ Recent posts