Cookie中保存中文信息

在创建Cookie对象时,由于不可以将中文字符作为Cookie中的值,在将中文字符保存到Cookie对象之前,应该使用java.net.URLEncoder类的encode()方法对中文字符进行编码。在获取该Cookie对象中的值的时候,需要使用java.net.URLDecode的decode()方法对已经编码过的字符串进行解码。如下所示

将用户信息保存在cookie中
Requset.setCharacterEncoding("UTF-8");
String name=request.getParameter("name");
name=java.net.URLEncoder.encode(name,"UTF-8");
Cookie newCookie=new Cookie("userName",name);
request.addCookie(newCookie);

读取Cookie中的用户信息
String userName=null;
Cooki cookieArr[] =request.getCookies[];
if(cookieArr!=null&&cookieArr.length>0){
for(Cookie c:cookieArr){
if(c.getName().equals("userName")){
userName=java.net.URLDecoder.decode(c.getValue(),"UTF-8");
}
}
}

你可能感兴趣的:(Java,Web)