由于之前出现错误:java.lang.IllegalArgumentException: Control character in cookie value or attribute.
是编码问题造成的。
故先在写入cookie时进行编码:URLEncoder.encode(name, "utf-8");
再在从cookie中读出时解码:URLDecoder.decode(co.getValue(),"utf-8");
之前写入cookie的代码:
- //将name保存到cookie中
- Cookie nameCookie=new Cookie("userName",name);
- //添加cookie
- response.addCookie(nameCookie);
之前读取cookie的代码:
- for (Cookie co : cookies) {
- String cookieName = co.getName();
- if (cookieName.equals("userName")) {
- name = co.getValue();
- }
- }
更改后写入cookie的代码:
- //将name保存到cookie中
- String urlName=URLEncoder.encode(name, "utf-8");
- Cookie nameCookie=new Cookie("userName",urlName);
- //添加cookie
- response.addCookie(nameCookie);
更改后读取cookie的代码:
- for (Cookie co : cookies) {
- String cookieName = co.getName();
- if (cookieName.equals("userName")) {
- name = URLDecoder.decode(co.getValue(), "utf-8");
- }
- }