创建Cookie抛出异常:java.lang.IllegalArgumentException: Control character in cookie value

时间:2022-01-01 10:59:34

调用Cookie对象的构造函数可以创建Cookie。Cookie对象的构造函数有两个字符串参数:Cookie名字和Cookie值。 
  名字和值都不能包含空白字符以及下列字符:[ ] ( ) < > = , " / ? @ : ; 

错误出在response.addCookie(cookie);//cookie 是一个Cookie实例。 

J2EE Doc里面的,cookies只支持ASCII字符,而且不能有逗号,分号,
空白。或者以$开头。名字在创建后不能改变。如果要存储中文的,先用URLEcode编码,在存入,取出的时候,用decode解码。

在保存cookie之前把值编码下:

URLEncoder.encode(cookieValue, "UTF-8"); 

取cookie值时解码:

URLDecoder.decode(localCookieValue, "UTF-8");