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));
}
}