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

Posted 狗子的进阶史

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建Cookie抛出异常:java.lang.IllegalArgumentException: Control character in cookie value相关的知识,希望对你有一定的参考价值。

调用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");


以上是关于创建Cookie抛出异常:java.lang.IllegalArgumentException: Control character in cookie value的主要内容,如果未能解决你的问题,请参考以下文章

异常处理——创建抛出

细节问题与知识

JSONObject 创建抛出空指针异常

Java:构造函数中抛出异常,我的对象仍然可以创建吗?

使用参数创建时,std::thread 抛出访问冲突异常? [关闭]

使用 OpenOffice SDK 创建数据源时抛出异常