}
}
out.print(username + ",恭喜您登录成功......"+getUserName); //username从Cookie中得出来,getUserName从请求参数中
System.out.println(username+"------------");
String remember = request.getParameter("remember");
//中文必须要进行 base64进行加码,才能作为cookie的值
getUserName = Base64Coder.encode(getUserName);
//将编码后的中文username的作为cookie的value
Cookie cookie = new Cookie(Constant.USER_INFO, getUserName);
cookie.setPath(getServletContext().getContextPath());
if(null != remember){ //若选择中了,则将Cookie写进去,若没有选择中,则将以前的Cookie都置成空
cookie.setMaxAge(Integer.MAX_VALUE); //设置Cookie是Integer最大数,好似有70多年的存效吧。呵呵
cookie.setMaxAge(0); //设置成cookie马上失效,maxAge是cookie的存活时间
}
response.addCookie(cookie);
四、获取请求参数乱码
GET方式的乱码:
如CN,直接用request.getParameter得到的字符串strCN将会乱码,这也是因为GET方式是用http的url传过来的默认用iso-8859-1编码的,所以首先得到的strCn要再用iso-8859-1编码得到原文后,再进行用utf-8(看具体页面的charset是什么utf-8或gbk)进行解码即可。new String(strCn.getBytes(“ISO-8859-1”),“UTF-8”);
[java
String strCn = request.getParameter("name");
String name = new String(strCn.getBytes(“ISO-8859-1”),“UTF-8”);
这种方式操作比较麻烦的是,有一个参数要用iso-8859-1编码一次再解码一次。
POST方式的乱码:只需要request.setCharacterEncoding("UTF-8"):即可。
[java]
request.setCharacterEncoding("UTF-8");
String name = request.getParameter("name");