前言:Tomcat默认是使用ISO8859-1来解码的,ISO8859-1是不支持中文的。
public class TestServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name = request.getParameter("name");
System.out.println(name);
PrintWriter out = response.getWriter();
out.println("你好!");
}
}
请求乱码:
1、post请求解决乱码方式:
在最前面加上以下语句:
request.setCharacterEncoding("text/html;charset=UTF-8");
2、get请求解决乱码方式:
对于get请求需要在修改tomcat服务器里面的server.xml文件的配置:
注:tomcat8.0以后get请求默认使用UTF-8进行解码,所以此配置只针对tomcat8.0以前的版本!
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080"
protocol="HTTP/1.1" redirectPort="8443"/>
3、响应乱码:
response.setContentType("text/html;charset=UTF-8");