破解 JSR-168 portlet规范 —— 不要从Portlet发送Cookie
6. 不要从Portlet发送Cookie
response.setHeader("P3P","CP=CAO PSA OUR");
根据JSR-168 portlet规范,在HttpServletResponse上调用addCookie()实际上不会设置一个cookie。允许设置cookie的portlet容器被打破。不要调用此方法。
如果您喜欢在用户使用门户的时候基于每位用户持久存储信息,那么可以将信息存储为portlet会话中的一个属性。如果您喜欢在用户退出后持久存储信息,那么可以将信息存储到数据存储库(文件系统、数据库、LDAP等)中。
由于这段话,我基本上没有去跟踪在Portlet中无法保存跨域的cookie的问题,但是后来我的leader给了我一句代码,在添加cookie之前设置response,结果成功保存了cookie.
response.setHeader("P3P","CP=CAO PSA OUR");
之前在我们自己项目中也是因为要解决IFRAME的COOKIE保存问题设置了这一句话,leader那么一说我才明白portlet的页面也有使用iframe实现的。。。是我忘了还是根本就不知道。无语。。。最终还是解决了问题,当然开心。
浙公网安备 33010602011771号