我在从包含逗号的 cookie 中获取值时遇到问题。它返回的不是完整字符串,而是被截断到第一个逗号的字符串。例如:
// cookie value = var1,var2,var3
String cookieVal = cookie.getValue();
//cookieVal now is "var1" instead of "var1,var2,var3"
and
// cookie value = var1=var2=var3
String cookieVal = cookie.getValue();
//cookieVal now is "var1=var2=var3"
我究竟做错了什么。
看看Cookie 文档 http://java.sun.com/j2ee/1.4/docs/api/javax/servlet/http/Cookie.html。它说 :
该类支持版本 0
(由 Netscape 提供)和版本 1(由 RFC
[2109] cookie 规范。经过
默认情况下,cookies是使用创建的
0版本确保最佳
互操作性。
如果你看到setValue http://java.sun.com/j2ee/1.4/docs/api/javax/servlet/http/Cookie.html#setValue%28java.lang.String%29方法你会发现这个
对于版本 0 cookie,值不应包含空格、方括号、圆括号、等号、逗号、双引号、斜杠、问号、at 符号、冒号和分号。空值在所有浏览器上的行为方式可能不同。
编辑:只需阅读谷歌的内容即可。也许尝试将版本设置为 1 并看看它是如何工作的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)