get 방식과 post 방식에 따라 처리해주는 게 다르다.
get방식 일 경우
1. : get방식의 경우
server 의 server.xml의 connector 부분을 추가.
<Connector connectionTimeout="20000" port="8081" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="utf-8"/>
그리고 resp.setContentType("text/html;charset=utf-8");
작업을 해주면 get방식에서는 한글이 정상 작동이 된다.
2 : post 방식의 경우 (useBodyEncodingForURI="true" 명시하면 get도 가능)
req.setCharacterEncoding("utf-8");
String name = req.getParameter("name");
resp.setContentType("text/html;charset=utf-8");
PrintWriter out = resp.getWriter();
out.println("이름 : " + name);
get방식의 경우는 useBodyEncodingForURI="true" 속성을 꼭 줘야하지만 post방식은 기본값이다.
그렇기에 request setCha~ 가 가능하다.
3 : get, post방식 모두 에서는
변환해줄 클래스를 생성.
public class Hangul {
public static String toKor(String str){
try {
return new String(str.getBytes("8859_1"), "utf-8");
} catch (UnsupportedEncodingException e) {
return null;
}
}
}
doPost() 매소드에서 추가 해주면된다.
post방식은 서버단에서 본문에 담겨져 넘어오기 때문에 get방식보다 조금더 번거로운 작업이 추가된다.
String name = req.getParameter("name");
String korName = Hangul.toKor(name);
resp.setContentType("text/html;charset=utf-8");
//브라우저에게 보내주는 형식을 알려주는 것.
PrintWriter out = resp.getWriter();
out.println("이름 : " + name);
out.println("변환이름 : " + korName);
'WebStudy' 카테고리의 다른 글
jsp 수업정리 - 05 내장객체 (0) | 2015.06.17 |
---|---|
jsp 수업정리 - 04 jstl 태그 (0) | 2015.06.17 |
jsp 수업정리 - 02 (0) | 2015.06.16 |
jsp 수업 정리. - 01 servlet 작동원리 (0) | 2015.06.15 |
Struts 시작하기. 네번째. struts.xml 설정하기 (0) | 2011.08.24 |