*)问题:control charater in cookie value or attribute

转自:https://blog.csdn.net/weixin_36380516/article/details/53905737

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

Cookie中只能包含ASCII的编码。当中文写入cookie时,会乱码报错。

##)解决方法:

存入cookie之前,使用java.net.URLEncoder编码

cookie存储userID所遇到的问题 随笔 第1张

读取cookie的时候,使用java.net.URLDecoder解码

cookie存储userID所遇到的问题 随笔 第2张

##)或者自己写一种编码方式,在存入的时候编码、取出的时候解码。

*)问题:在本地Windows+tomcat环境下,cookie的存取正常。但项目放到Linux+tomcat环境下时,存入的cookie(键-值),取的时候取不到键对应的值,取出为null,或者取出的值不是存进去的。为了解决这个问题,for循环cookie中的键,打印出的value也没有存进去的那一个。

问题原因:项目中的编码、解码方式不是java.net.URLDecoder和Encoder。而是自己写的一套编码、解码方式。这种方式在Windows下可正常运转,但在Linux下编码解码有问题。所以造成了上面奇怪的问题。

解决方法:非中文的值,存入cookie时,不再进行编码、解码,直接存入cookie。

    中文的值,存入cookie时,使用其他编码、解码方式。

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄