编程语言
首页 > 编程语言> > JavaWeb学习day8-Response排错

JavaWeb学习day8-Response排错

作者:互联网

用字符串接收送前端返回的数据并输出

 1      req.setCharacterEncoding("UTF-8");
 2         resp.setCharacterEncoding("UTF-8");
 3 
 4         String s1 = req.getParameter("userName");
 5         String s2 = req.getParameter("password");
 6         String[] values = req.getParameterValues("hobby");
 7 
 9         System.out.println("------------");
10         System.out.println(s1);
11         System.out.println(s2);
12         System.out.println(Arrays.toString(values));
13         System.out.println("------------");

控制台输出信息如下

 

 出现中文乱码,为了排查问题,在原有代码的基础上添加输出一句中文

 1         req.setCharacterEncoding("UTF-8");
 2         resp.setCharacterEncoding("UTF-8");
 3 
 4         String s1 = req.getParameter("userName");
 5         String s2 = req.getParameter("password");
 6         String[] values = req.getParameterValues("hobby");
 7 
 8         System.out.println("中文");
 9         System.out.println("------------");
10         System.out.println(s1);
11         System.out.println(s2);
12         System.out.println(Arrays.toString(values));
13         System.out.println("------------");

控制台输出结果如下

 

 可见整个当前项目的文字输出都有问题,通过百度搜索,修改了idea的项目编码格式均为UTF-8,问题未得到解决;包括修改Tomcat的setting文件等等都没有有效解决问题,控制台输出依旧乱码。

我又在当前项目下新建了test类

1 public static void main(String[] args) {
2         System.out.println("中文");
3     }

控制台能正常输出“中文”二字

此时我想到了之前的类有连接到Tomcat服务器,是服务器上的操作,而test类操作留在本地,发觉是Tomcat设置有异常,修改编辑其配置,在虚拟机选项一栏加上“-Dfile.encoding=GBK”问题的到解决

标签:UTF,JavaWeb,day8,req,System,排错,String,println,out
来源: https://www.cnblogs.com/Cra2iTeT/p/15377022.html