post请求的中文乱码问题

设置请求体的字符集为UTF-8,从而解决post请求的中文乱码问题
req.setCharacterEncoding("UTF-8");

这段语句必须在获取请求参数之前调用才有效,如果你先获取了密码的参数,再设置字符集,然后再获取用户名的参数,那么用户名的参数也会乱码的。

package LWB;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Arrays;

public class ParameterServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("----------------doGet---------------");
        String username=req.getParameter("username");
        String password=req.getParameter("password");
        String[] hobby=req.getParameterValues("hobby");
        System.out.println("用户名:"+username);
        System.out.println("密码:"+password);
        System.out.println("兴趣爱好:"+ Arrays.asList(hobby));
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//      设置请求体的字符集为UTF-8,从而解决post请求的中文乱码问题
        req.setCharacterEncoding("UTF-8");
        System.out.println("----------------doPost---------------");
        String username=req.getParameter("username");
        String password=req.getParameter("password");
        String[] hobby=req.getParameterValues("hobby");
        System.out.println("用户名:"+username);
        System.out.println("密码:"+password);
        System.out.println("兴趣爱好:"+ Arrays.asList(hobby));
    }
}

相关文章:

  • 2021-10-14
  • 2022-12-23
  • 2021-07-12
  • 2021-08-14
  • 2022-12-23
  • 2022-02-19
  • 2021-06-04
  • 2022-12-23
猜你喜欢
  • 2021-12-21
  • 2021-10-28
  • 2021-07-23
  • 2022-12-23
  • 2022-01-17
  • 2021-08-27
  • 2022-12-23
相关资源
相似解决方案