필터

    서블릿(Servlet) 필터(Filter)를 사용하여 한글 처리 문제를 해결하기(어노테이션 방식)

    서블릿(Servlet) 필터(Filter)를 사용하여 한글 처리 문제를 해결하기(어노테이션 방식)

    위와 같은 웹 페이지에서 제목란에 'bbb', 내용란에 '안녕하세요'를 입력하면 어떻게 될까? (폼 태그의 method="POST"이다.) 'bbb'는 정상적으로 출력이 되지만, '안녕하세요'는 이상한 문자(?)로 출력이 된다. 왜 한글은 이상하게 출력이 되는 것일까? 클라이언트에서 서버로 영문자를 전송할 때는 '1바이트'의 크기가 사용된다. 하지만 한글을 전송할 때는 '2바이트'의 크기가 사용된다. 'UTF-8' 인코딩 방식을 이용하면 한글을과 영어를 모두 정상적으로 사용할 수 있지만 톰캣은 기본적으로 'UTF-8' 인코딩 방식이 아닌 'ISO-8859-1' 인코딩 방식을 사용한다. 예를들어 '안녕'을 전송하면 'UTF-8'방식은 '안녕'을 '안(2byte)', '녕(2byte)'로 나누어 전송하기 때..