Servlet使用@WebServlet Annotation(注解)进行配置时浏览器出现中文乱码

今天使用@WebServlet Annotation(注解)配置了一个Servlet

结果,emmm !

中文乱码。。。。。。。。。。。。。

解决方法:使用resp.setContentType("text/html;charset=UTF-8")解决

使用UTF-8还是中文乱码的话则使用resp.setContentType("text/html;charset="GBK")

解决

PS:

resp.setContentType(MIME)的作用是使客户端浏览器,区分不同种类的数据,并根据不同的MIME调用浏览器内不同的程序嵌入模块来处理相应的数据。
例如web浏览器就是通过MIME类型来判断文件是GIF图片。通过MIME类型来处理json字符串。

这 个方法设置发送到客户端的响应的内容类型,此时响应还没有提交。给出的内容类型可以包括字符编码说明,例 如:text/html;charset=UTF-8.如果该方法在getWriter()方法被调用之前调用,那么响应的字符编码将仅从给出的内容类型 中设置。该方法如果在getWriter()方法被调用之后或者在被提交之后调用,将不会设置响应的字符编码,在使用http协议的情况中,该方法设 置 Content-type实体报头。
一般在Servlet中,习惯性的会首先设置请求以及响应的内容类型以及编码方式:
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8");

原文地址:https://www.cnblogs.com/itjiangpo/p/14181256.html