안녕하세요
초이스40입니다.
오늘은 웹 브라우저에서 응답하는 페이지의 한글 처리하는 방법에 대해서 알아보겠습니다.
웹 개발을 접하면서 첫 페이지에 가장 많이 쓰는 단어 "Hello World"입니다.
이것을 조금 바꾸어서 "안녕하세요"라고 출력해 보도록 하겠습니다.
1. 한글 깨지지 않게 설정하기
HttpServletResponse rest = rest.setContentType("text/html");
PrintWriter out = resp.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Hello World</title>");
out.println("<body>");
out.println("<he>안녕하세요</h1>");
out.println("</body>");
out.println("</html>");
out.close(); //출력 스트림을 닫는다.
위와 같이 입력하면 '안녕하세요'가 출력될까?
톰캣을 재시작 시킨 후, 페이지를 '새로고침' 하면 아래와 같이 한글이 깨져서 출력되는 것을 확인할 수 있다.
?????!
웹 브라우저에 응답하는 페이지에 대해서 한글을 출력할 경우 한글이 깨지지 않도록 하기 위해서는 HttpServletResponse 객체로 setContentType 메소드를 호출하여 응답 방식을 결정해 주면서 보여 주고자 하는 코드셋을 euc-kr로 지정해야 합니다.
"euc-kr"은 W3C에서 한국어를 위해 지정한 타입입니다. 아래와 같이 추가한 후에 실행하면 한글을 처리할 수 있습니다.
resp.setConteneType("text/html;charset=euc-kr");
2. 폼 태그의 get/post 방식
인터넷에서 회원 가입을 할 때 흔히 볼 수 있는 화면에서 관련된 정보를 입력하고 '확인' 또는 '저장' 버튼을 통해
해당 정보를 저장할 때는 html의 <form> 태그를 통해서 데이터를 넘겨줍니다.
클라이언트의 웹 브라우저에서 사용자로부터 다양한 정보를 입력받기 위해서 <form> 태그가 사용됩니다.
폼에 입력된 데이터를 서블릿 컨테이너가 받아서 처리하는 서블릿 프로그램을 작성해 보겠습니다.
<form method="get 또는 post" action="호출할 서블릿 파일명">과 같이 입력해서 폼 데이터를 전송합니다.
다음은 폼 태그가 가지는 속성에 대한 설명입니다.
속성 | 설명 |
method | 어떤 방식으로 데이터를 넘겨 줄 것인지를 결정한다. POST/GET 방식 중에서 하나를 선택한다. POST는 사용자가 입력한 내용을 공개하지 않고 전송한다. GET은 사용자가 입력한 내용을 공개하여 전송한다. |
action | 전송(submit) 버튼이 누르면 action 속성 다음에 기술한 URL에 지정된 파일로 이동한다. |
보통 <form> 태그에서 보이면 안 되는 데이터는 method 방식을 post로 전송합니다.
회원가입과 같은 데이터는 post 방식으로 전송해야 안전합니다.
간단하게 웹 브라우저에서의 한글 처리와 <form> 태그의 속성에 대해서 알아보았습니다.
실제로 개발할 때는 당연한 것이지만 잊어버리고 가끔 실수하는 것이 바로 한글 처리입니다.
위와 같은 설정으로 한글에 대해서 처리할 수 있습니다.
그럼이만.
끝.
'IT 관련 > java' 카테고리의 다른 글
java GC (Garbage Collection)에 대해서 (0) | 2022.02.08 |
---|---|
java for 루프를 더 빠르게 하기 (0) | 2022.01.07 |
java 환경설정 > java -version (0) | 2021.11.14 |
java 다운로드 및 설치하기 - 자바 jdk, jre 설치 (0) | 2021.11.13 |
Map for문 돌리기 - How to loop a Map in Java [JAVA] (0) | 2021.11.12 |