servlet中乱码的处理
请求参数乱码
- 使用requerst的方法
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
}
响应乱码
- 使用HttpServletResponse的setCharacterEncoding()方法
response.setCharacterEncoding("utf-8");
response.setHeader("Content-Type","text/html;charset=utf-8");
- 使用HttpServletResponse的setContentType()方法 [推荐]
@WebServlet(name = "ChineseServlet",urlPatterns = "/chinese")
public class ChineseServlet extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
String data="中国";
PrintWriter out = response.getWriter();
out.println(data);
}
public void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
}