由于之前出现错误: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");
}
}