ServletContext
ServletContext对象当做容器这种使用方式, 开发中尽量不要使用, 因为ServletContext对象是和项目对应的, 如果项目负担过大, 将会影响用户的体验.
中文乱码 get
方案一: //通过URLEncoder#encode(), URLDecoder#decode()
1) Servlet对象先对服务器传过来的数据进行"iso-8859-1"编码.
//这样做的目的是将数据 还原到 浏览器传输给服务器的原始状态.
String str = URLEncoder.encode("要编码的字符串","指定的码表");
2) 然后对编码后的数据进行"utf-8"解码操作即可.
String str = URLDecoder.decode("要解码的字符串","指定的码表");
String encode = URLEncoder.encode(username, "iso-8859-1");
username=URLDecoder.decode(encode,"utf-8");
方案二: 通过String类的功能实现
public byte[] getBytes("指定的码表");
//将字符串转成指定码表的 字节数组形式.
public String(byte[] bys,String charsetName);
//将字节数组按照指定的码表转成其对应的 字符串形式.
username=new String(username.getBytes("iso-8859-1"),"utf-8");
中文乱码 post
//针对方法体的编码
request.setCharacterEncoding("utf-8");