黑马程序员技术交流社区

标题: 【修改Tomcat的编码问题】 [打印本页]

作者: 黑马晓志    时间: 2014-4-29 16:24
标题: 【修改Tomcat的编码问题】
本帖最后由 黑马晓志 于 2014-4-29 16:30 编辑

修改tomcat的编码:在servr.xml中加入URIEncoding="UTF-8"
如下
  1. <Connector port="8080" protocol="HTTP/1.1"
  2.                connectionTimeout="20000"
  3.                redirectPort="8443"  URIEncoding="UTF-8"/>
复制代码

代码如下,
一个是request的post请求,没有设置request的编码。
一个是response的Writer流,往浏览器写数据,没有设置response的编码。
  1. package com.xiaozhi.controller;

  2. import java.io.IOException;
  3. import java.io.PrintWriter;

  4. import javax.servlet.ServletException;
  5. import javax.servlet.http.HttpServlet;
  6. import javax.servlet.http.HttpServletRequest;
  7. import javax.servlet.http.HttpServletResponse;

  8. public class ServletDemo2 extends HttpServlet
  9. {
  10.         @Override
  11.         protected void doGet(HttpServletRequest request, HttpServletResponse response)
  12.                         throws ServletException, IOException
  13.         {
  14.                 response.getWriter().write("中国");
  15.         }
  16.         
  17.         protected void doPost(HttpServletRequest request, HttpServletResponse response)
  18.                         throws ServletException, IOException
  19.         {
  20.                 String name=request.getParameter("username");  
  21.                 System.out.println(name);  
  22.         }
  23. }
复制代码

运行结果还是有乱码,问题何在???




作者: 菜小徐    时间: 2014-4-29 16:32
你可以设置一下response的编码
作者: SyouRai_Tsk    时间: 2014-4-29 20:00
默认是doPost()中调用doGet().然后在doGet中使用request和response设置编码平台
作者: 黑马晓志    时间: 2014-4-30 10:49
菜小徐 发表于 2014-4-29 16:32
你可以设置一下response的编码

谢谢你的回答,但是我想修改一下服务器的编码,试试不修改response,request的编码,就能正常显示,没有乱码。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2