我使用IE开发人员工具检查cookie:
IE 11 >> Press F12 >> Network >> Details >> Cookies
它正确显示我的cookie密钥/值:
Key: SSO
Value: AP_KEY=11111&SSO_KEY=22222&ACCOUNT=JOHN_SMITH
但是当我使用jsp获取cookie值时,我总是得到“AP_KEY”。 这是我的代码:
Cookie cookies [] = request.getCookies();
Cookie myCookie = null;
if (cookies != null){
for (int i = 0; i < cookies.length; i++) {
out.println("Name: " + cookies [i].getName());
out.println("Value: " + cookies [i].getValue());
}
}
结果是:
Name: SSO Value: AP_KEY
我添加编码但仍然获得“AP_KEY”:
java.net.URLDecoder.decode(cookies [i].getValue(), "UTF-8");
任何意见和建议将不胜感激!
答案 0 :(得分:0)
我的网络服务器是Tomcat 7.经过大量搜索,我发现这篇文章: https://bz.apache.org/bugzilla/show_bug.cgi?id=49252
这篇文章提到有一个配置选项允许cookie值中的等号,自6.0.24起,请参阅 http://tomcat.apache.org/tomcat-6.0-doc/config/systemprops.html
根据文件,我添加
CATALINA_OPTS="-Dorg.apache.tomcat.util.http.ServerCookie.ALLOW_EQUALS_IN_VALUE=true"
在catalina.sh中,问题解决了!