response中添加cookie时错误记录

今天在学习servlet项目中遇到response中添加cookie时IllegalArgumentException错误

response中添加cookie时错误记录

出错代码块下图:

response中添加cookie时错误记录

百度错误提示: 

java.lang.IllegalArgumentException: An invalid character [44] was present in the Cookie value

由异常可以看出这个问题属于无效参数问题,在看后面的提示内容 

An invalid character [44] was present in the Cookie value 

cookie中存在无效的字符character [44],所以我们查询ASCII码表可知44表示“,”32表示空格 

所以我们只需要将value中的对应字符替换掉即可,或进行编码

其中替换其他符合很简单,直接替换就ok,下面说下编码情况有:

java中URL 的编码函数:   java.net .URLEncoder.encode(String s);   解码函数:java.net .URLDecoder.decode(String s);
在javascript 中URL 的编码和解码函数:  escape(String s)和unescape(String s) ;
在前台:     var url="test.jsp?param="+escape('this%is#te=st&o k?+/');
在后台编码:String param=request.getParameter("param");   解码:System.out.println(URLDecoder.decode(param,"UTF-8")); 
因此编码修改后的代码块(存的时候编码,取值别忘了解码):

response中添加cookie时错误记录