您的位置:首页 > 运维架构 > Tomcat

tomcat7中cookie写入中文引发的异常问题及解决

2016-06-02 00:00 555 查看
摘要: java.lang.IllegalArgumentException: Control character in cookie value or attribute

问题:

[code=language-java]Cookie cookie = new Cookie("cookieName", "Cookie值");
resp.addCookie(cookie);

目标URL访问此方法时,会抛出异常:

java.lang.IllegalArgumentException: Control character in cookie value or attribute

描述:

环境:tomcat7,Java7

具体问题:cookie写入中文会引发异常。所以这样看来Cookie默认支持的编码方式是ASCII码。不能对中文进行编码和解码。

解决方式:

创建Cookie的时候:

[code=plain]Cookie cookie = new Cookie(name, URLEncoder.encode(value, "UTF-8"));

读取Cookie的时候:

[code=plain]String value = URLDecoder.decode(cookie.getValue(), "UTF-8");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息