하위링크들

자바 서블릿 get 방식과 post 방식 한글 처리하기

Quill 2015. 6. 2. 23:24

일단 jsp에서 페이지1에서 페이지2로 값을 넘기는 방법이 두가지가 있다. 하나는 <a></a> 이 방식이고 하나는 <form> 방식이다.

폼 방식에는 타입이 두가지가 있는데 get과 post 이다. 


 ●get 방식 :2048 글자까지만 전송 / https 프로토콜 가능                :한글 - URIEncoding = %글자 바뀜

● post 방식 :글자는 무한대 /이진데이터도 전송가능

 

포스트방식은 값이 넘어갈때 주소는 안넘어가 좋지만  https 저것땜시 어쩔수없이 겟방식을 자주 쓴다.

 

 

 

question.jsp 소스 일부분

 

<form action='answer1.jsp' method='post'>

 이름: <input type='text' name='name'></input><br>

<input type='submit' value='서버에 전송'>

</form>

 

 

answer.jsp 소스 일부분

 

String name = request.getParameter("name");

out.println("이름 : "+ name + "<br>");

 

 

 

 

이렇게 파일이 두개 가 있다고 해 보자.

 

영어나 숫자는 잘 넘어 갈것이다.

하지만 한글을 값이 넘어 가면 깨져서 나온다.

 

이 문제를 해결 해 보자.

 

 

 

1. get 방식

 

먼저 get방식 이다. get 방식은 톰캣 을 이클립스와 연동 했을 때 생긴 servers 프로젝트에 server.xml 에서 소스 일부분을 추가

해주면 되는데 이클립스와 서버간 싱크로가 잘 안될때가 있으므로 직접 탐색기로 그폴더에 server.xml을 찾아 수정을 해주자.

드라이브명\이클립스작업폴더명\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\conf 에 server.xml을

에디터로 열어 URIEncoding="euc-kr" 이 소스를 추가 해주면 된다.

 

 

 


 

 

 

↑ 위의 보라색 글자 맨 끝을 보면 소스를 추가한게 보일 것이다.  

추가후 톰캣 서버 정지후 다시 시작 하여  jsp 파일을 실행 시켜 보면 한글이 

제 대로 전달 될 것이다.

 

 

 

2. post 방식

 

 

포스트 방식은 받아지는 jsp 페이지에 ↓ 아래 코드 한줄 만 추가 하면 된다.

 

<%

request.setCharacterEncoding("euc-kr");

%>

 

이 코드를 친이후에 받을 값등을 선언해서 받아오면 한글이 잘나올것이다.

 

 

 

 

 

 

 

----------------------------------------------------

아무튼 각설 하고 페이지에 무조건 넘어오는 값은 문자열이다.

정수등의 값은 받아온 값을 형변환 시켜야 제대로 쓸수 있다.

----------------------------------------------------

 

 

[출처] get방식과 post 방식의 넘어오는 값 한글 설정|작성자 힐 http://blog.naver.com/hilpoint/140119947358



반응형