最近使用eclipse创建servlet项目,doget()请求,response响应时总是出现乱码!!!
Served at: /day14_1hell?????很是困扰,于是检查编码设置。eclipse的编码全部设为UTF-8
浏览器显示编码也设为utf-8;Tomca的server.xml配置文件里也设为utf-8;结果还不行,很烦很急躁了。
又是各种尝试。后来发现新建servlet文件让它自带doget请求时,会在第一行加
response.getWriter().append("Served at: ").append(request.getContextPath());
这句话得到printwriter,即
向文本输出流打印对象的格式化表示形式。他是一种过滤流,能对字节和字符进行处理。
这句代码已经得到了向客户端的输出流。编码格式也随着设置了。所以,在之后在设置utf-8
response.setContentType("text/html; charset=UTF-8");//响应编码
就没效果了。把这句移到设置响应编码之后,就行了!