값을 전달하는 메소드(mothod)의 방식에 따라 한글 입력 시 결과 값이 깨진다면
2가지의 조치를 취해야 할것입니다. 그러기전에 Got 방식과 Post 방식의 차이에 대해서 간단히 설명할께요.
쉽게 차별을 두자면 got 방식은 전달할 파라메타의 값이 브라우저 주소 창에 보이기 때문에 정보 유출의 가능성이 다분합니다.
반면에 post는 브라우저 주소 창에 전달되는 파마레타의 값이 보이지 않기 때문에 안전성을 보장할 수 있으며,
got 방식은 전달할 파라메타의 값의 길이 제한이 있지만 post는 제한이 없습니다.
특별한 경우를 제외하고는 post 방식을 사용하는 것이 좋습니다.
- Get 방식
get 방식으로 파라메타를 보낸느 방식이라면 톰캣의 C:\Tomcat6.0\conf\server.xml 을
열어 추가되는 부분이 있습니다. server.xml 파일에서 URIEncoding="KSC5601" 을 추가함으로써,
get 방식의 한글 파마메타 깨짐 현상을 방지할 수 있습니다.
-----
<Connector port="2323" protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="KSC5601"/>
-----
- Post 방식
post로 값을 전달받았다면 소스 상에서 <% request.setCharacterEncoding("euc-kr"); %>로
처리하면 한글의 깨짐을 방지 할 수 있습니다.
-----
<%@ page language="java" contentType="text/html; charset=euc-kr" %>
<%
request.setCharacterEncoding("euc-kr");
String id = request.getParameter("id");
out.println(id);
%>
-----