일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- oracle
- 선택적조인
- MFC
- JDOM
- iBATIS
- Struts
- GPS
- WebLogic
- sencha touch
- 전자정부프레임워크
- Ajax
- 가우스
- jsr 296
- Spring
- MySQL
- Google Map
- ibsheet
- swingx
- Eclipse
- PHP
- JSON
- PLSQL
- node.js
- rowspan
- Android
- appspresso
- tomcat
- jQuery
- phonegap
- dock
- Today
- Total
Where The Streets Have No Name
JSP/Servlet에서의 Cookie에 한글값 쓰기 본문
쿠키에 속성값을 한글로 저장하기 위해서는 몇가지 과정이 필요하다.
한글이나 특수문자, 그리고 유니코드들은 쿠키에 저장하기전에
URLEncoder 로 인코딩을 하고, 사용할 때 URLDecoder로 디코딩해주어야 한다.
URLEncoder및 URLDecoder는 java.net 패키지에 있다.
다음은 서블릿에서의 예제이다.
--------------------------
1. 폼에서 서블릿으로 넘어온 값을 쿠키에 저장하는 예제
....
response.setContentType("text/html;charset=EUC-KR");
request.setCharacterEncoding("euc-kr");
String username = request.getParameter("username");
String job = request.getParameter("job");
Cookie cookie = new Cookie("username", URLEncoder.encode(username, "euc-kr"));
response.addCookie(cookie);
cookie = new Cookie("job", URLEncoder.encode(job, "euc-kr"));
response.addCookie(cookie);
--------------------------
2. 쿠키의 값을 읽어서 화면에 출력하는 예제
response.setContentType("text/html;charset=EUC-KR");
request.setCharacterEncoding("euc-kr");
PrintWriter out = response.getWriter();
String username = null;
String job = null;
Cookie[] cookies = request.getCookies();
for (int i = 0; i < cookies.length; i++) {Cookie thisCookie = cookies[i];
if (thisCookie.getName().equals("username")) {
username = URLDecoder.decode(thisCookie.getValue(), "euc-kr");
}
else if(thisCookie.getName().equals("job")) {
job = URLDecoder.decode(thisCookie.getValue(), "euc-kr");
}
}
// 화면에 출력
out.println("<html>");
out.println("<head><title>쿠키확인</title></head>");
out.println("<body>");
out.println("이름 : " + username + "<br>");
out.println("직업 : " + job + "<br>");
out.println("</body>");
out.println("</html>");