Servlet请求及响应中文乱码问题

解决Servlet请求和响应的中文乱码

请求参数的中文乱码问题

post方式
setCharacterEncoding()
该方法只对post请求方式有效,get请求方式无效

HttpServletRequest接口提供了一个setCharacterEncoding()方法,该方法用于设置request对象的解码方式。

public void doPost(HttpServletRequest request, HttpServletResponse response) 
			throws ServletException, IOException {
		//设置request对象的解码方式
		request.setCharacterEncoding("UTF_8");
	}

响应参数的中文乱码问题

第一种

设置HttpServletResponse使用UTF-8编码

response.setCharacterEncoding("UTF-8");

通知游览器使用指定编码

Response.setHeader("Content-Type","text/html;charset=UTF-8");
public void doPost(HttpServletRequest request, HttpServletResponse response) 
			throws ServletException, IOException {
			//设置编码
			response.setCharacterEncoding("UTF-8");
			//通知解码
			response.setHeader("Content-Type", "text/html;charset=UTF-8");
	}

第二种

即设置HttpServletResponse使用UTF-8编码,也通知游览器使用指定编码

response.setContentType("text/html;charset=UTF-8");
public void doPost(HttpServletRequest request, HttpServletResponse response) 
			throws ServletException, IOException {
			//响应
			response.setContentType("text/html;charset=UTF-8");
	}

小结(post方式)

解决请求响应中文乱码问题

public void doPost(HttpServletRequest request, HttpServletResponse response) 
			throws ServletException, IOException {
			//请求
			request.setCharacterEncoding("UTF-8");
			//响应
			response.setContentType("text/html;charset=UTF-8");
	}
相关推荐
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页