我在时间的dd日和HH添加一个空格 reponse.addCookie时就会报错,
java.lang.IllegalArgumentException: An invalid character [32] was present in the Cookie value
at org.apache.tomcat.util.http.Rfc6265CookieProcessor.validateCookieValue(Rfc6265CookieProcessor.java:162)
at org.apache.tomcat.util.http.Rfc6265CookieProcessor.generateHeader(Rfc6265CookieProcessor.java:111)
at org.apache.catalina.connector.Response.generateCookieString(Response.java:989)
at org.apache.catalina.connector.Response.addCookie(Response.java:937)
at org.apache.catalina.connector.ResponseFacade.addCookie(ResponseFacade.java:386)
at com.zero.demo.Demo04Cookie.doPost(Demo04Cookie.java:61)
而如果没有空格就可以添加成功
Date date=new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
String loginTime = simpleDateFormat.format(date);
System.out.println(loginTime);
System.out.println("编码前"+loginTime);
String encode = URLEncoder.encode(loginTime, "UTF-8");
System.out.println("编码后"+encode);
String decode = URLDecoder.decode(encode, "UTF-8");
System.out.println("解码后"+decode);
try{
Cookie loginTime1 = new Cookie("loginTime",decode);
System.out.println( loginTime1.getName());
System.out.println(loginTime1.getValue());
response.addCookie(loginTime1);
}catch (Exception e)
{
e.printStackTrace();
System.out.println("未能添加cookie");
}