JSP cookies[loop]. getvalue()在@为值时中断



我已经为低级登录设置了一个电子邮件地址的cookie。当我得到cookie的值,它不返回任何东西超过@符号?

例如:

cookie value = 'name@domain.com'

cookie get value = 'variable = cookies[loop].getValue()'

return = 'name'

对于如何解决这个问题有什么想法吗?

可以转义字符吗?

@是cookie中不合法的字符。建议对cookie值进行url编码和url解码。

Cookie cookie = new Cookie(name, URLEncoder.encode(value, "UTF-8"));
// ...

String value = URLDecoder.decode(cookie.getValue(), "UTF-8");
// ...

cookie的声明

enter code here
   String str="name@domain.com";
    str=URLEncoder.encode(str);
    Cookie ck2=new Cookie("email",str);

===============================================================

    String a = URLDecoder.decode(cks[i].getValue());

这会让你cookie所有字符,包括@,在@之后

最新更新