java.lang.IllegalArgumentException: Control character in cookie value or attribute.
위 에러는 JSP의 쿠키(cookie) 설정에 한글을 사용할 경우 발생하는 에러이다.
다음과 같은 JSP 코드가 있다고 가정하자.
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>쿠키 설정</title>
</head>
<body>
<%
Cookie c = new Cookie("MemberID", "12345");
c.setMaxAge(60*60);
c.setComment("회원 ID");
response.addCookie(c);
%>
<p/>
<a href="GetCookie.jsp">쿠키 확인하기</a>
</body>
</html>
위 코드를 실행하면
JSP java.lang.IllegalArgumentException: Control character in cookie value or attribute.라는 에러가 발생한다.
에러가 발생하는 위치는 한글을 사용한
c.setComment("회원 ID")에서 에러가 발생한다.
해결할려면 한글을 utf-8로 인코딩한 값을 set하거나 Base64로 인코딩한 값을 set하면 된다.
물론 쿠키를 받는 곳에서 동일한 인코딩 값으로 받아야 할 것이다.
'JSP & Servlet' 카테고리의 다른 글
JSP 변수를 자바스크립트(JavaScript)에서 사용하는 법 (0) | 2017.03.22 |
---|---|
Servlet에서 로그 출력 및 확인하기 (0) | 2017.03.10 |
JSP에서 MySQL 사용하기 (1) | 2016.12.28 |
JSP의 자바빈(JavaBeans) 사용시 <jsp:setProperty ... property="*"에 대해서 (0) | 2016.06.01 |
Oracle database의 JDBC 사용에 필요한 url 정보에 대해 (0) | 2016.05.26 |