1.POST方式提交的数据乱码解决:

request.setCharacterEncoding("UTF-8");

2.GET方式提交的数据乱码解决:

String username = request.getParameter("username");
//  username.getBytes("iso8859-1")  用乱码去查iso8859-1  这个码表  得到原始的数字的字节数组
System.out.println(new String(username.getBytes("iso8859-1"),"utf-8"));
//用原始的数字的字节数组去查utf-8的码表  得到字符串
超链接后面的参数的中文乱码问题与GET方式解决一样

3.修改服务器的server.xml配置文件,但是这种方式可移植性差,不建议这样操作

<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8" />
或者:

 

<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
useBodyEncodingForURI="true"/>