在cookies中添加特殊字符,java

时间:2017-05-25 10:11:23

标签: java json servlets cookies

我想创建包含特殊字符的cookie。我尝试了很多解决方案,但它仍然相同。这意味着它会在特殊字符后自动删除值。

json = [{"message":"D10QAC"},{"message":"D10P;F"},{"message":"D10PAF"}]

Cookie cookie = new Cookie("cookie", json); 
cookie.setMaxAge(10000);
response.addCookie(cookie);

但是存储cookie时就像[{"message":"D10QAC"},{"message":"D10P;

我还尝试使用URLEncoder.encode(json, "UTF-8")对此Cookie进行解码,但它也有同样的问题。

有任何帮助吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

我想说这通常不可能,因为;符号是HTTP标头的转义分隔符(另请参阅此答案:https://stackoverflow.com/a/19028585/1479414)。

因此,最佳解决方案可能是将json编码为base64字符串并将其存储在cookie值中。