cookie存储userID所遇到的问题
*)问题:control charater in cookie value or attribute
转自:https://blog.csdn.net/weixin_36380516/article/details/53905737
Cookie中只能包含ASCII的编码。当中文写入cookie时,会乱码报错。
##)解决方法:
存入cookie之前,使用java.net.URLEncoder类编码:
读取cookie的时候,使用java.net.URLDecoder类解码:
##)或者自己写一种编码方式,在存入的时候编码、取出的时候解码。
*)问题:在本地Windows+tomcat环境下,cookie的存取正常。但项目放到Linux+tomcat环境下时,存入的cookie(键-值),取的时候取不到键对应的值,取出为null,或者取出的值不是存进去的。为了解决这个问题,for循环cookie中的键,打印出的value也没有存进去的那一个。
问题原因:项目中的编码、解码方式不是java.net.URLDecoder和Encoder。而是自己写的一套编码、解码方式。这种方式在Windows下可正常运转,但在Linux下编码解码有问题。所以造成了上面奇怪的问题。
解决方法:非中文的值,存入cookie时,不再进行编码、解码,直接存入cookie。
中文的值,存入cookie时,使用其他编码、解码方式。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏