일단 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