项目场景:
笔者最近在练习Cookie的使用,在新建的CookieDemo1的Servlet中的doPost方法里,尝试实例化一个cookie对象并给它赋值。然后在另一个新建的CookieDemo2的Servlet的doPost方法里使用这个cookie,并在控制台中输出该cookie的键与值。问题描述:
在Tomcat服务器启动后,在浏览器中访问cookieDemo1这个Servlet,结果直接报出服务器内程序错误原因分析:
通过查资料了解到现在的cookie不支持逗号、空格等特殊符号,如果非要用,可以使用URL编码的方式来解决这个问题解决方案:
以想要往cookie中传入空格为例: 在传入的时候,使用URLEcoder.encode()方法将想要传入的字符串编码:String str_date1 = URLEncoder.encode(str_date, "utf-8");
然后将编码后的值传入cookie中:
cookie.setValue(str_date1);
在读取cookie值之后,也要进行解码:
String value = cookie.getValue();
value = URLDecoder.decode(value,"utf-8");
最后得到我们想要的value。 **全部测试代码:**
package cookie;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http