import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class webexampleservlet extends HttpServlet {
/**
 * 
 */
private static final long serialVersionUID = 1L;public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;chatset=utf-8");
    doPost(request,response);
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { response.setContentType("text/html;chatset=utf-8");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println("  <BODY>");
request.setCharacterEncoding("utf-8");
    out.println("名字:"+request.getParameter("name")+"<br>");
out.println("邮箱:"+request.getParameter("email")+"<br>");
out.println("年龄:"+request.getParameter("age")+"<br>");
out.println("编程时间:"+request.getParameter("time")+"<br>");
String system[]=request.getParameterValues("system");
out.println("操作系统");
for(int i=0;i<system.length;i++)
out.println("<li>"+system[i]+"</li>");
out.println("<br>");
String lanager[]=request.getParameterValues("lanager");
out.println("操作语言");
for(int i=0;i<lanager.length;i++)
out.println("<li>"+lanager[i]+"</li>");
out.println("<br>");
out.println("留言:"+request.getParameter("code")+"<br>");
out.println("我");
out.println("  </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}}
运行结果是:?????

解决方案 »

  1.   

    都加了这request.setCharacterEncoding("utf-8");句话了 怎么还出错呢?
      

  2.   


    request.setCharacterEncoding("utf-8");
    /**
      *这种方式只对POST请求好使,对GET请求就不灵了,GET请求应该用下面这个
      *String name = new String(name.getBytes("ISO-8859-1"),"UTF-8");
      */希望对LZ有帮助!
      

  3.   

    你在out.println();加了编码格式的啊 
      

  4.   

    我在form里的method就是post的
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head><body>
    <form id="form1" name="form1" method="post" action="/web0.4/servlet/webexampleservlet">
      <table width="418" border="0" align="left">
        <tr>
          <td width="115" align="right">姓名</td>
          <td width="293"><label>
            <input name="name" type="text" id="name" />
          </label></td>
        </tr>
        <tr>
          <td align="right">邮箱</td>
          <td><label>
            <input name="email" type="text" id="email" />
          </label></td>
        </tr>
        <tr>
          <td align="right">年纪</td>
          <td><label>
            <input type="radio" name="age" value="1-10" />
            1-10
          </label>
            <label>
             <input type="radio" name="age" value="11-50" />
          </label>
            <label>
            11-50
            <input type="radio" name="age" value="50-80" />
            50-80      </label>
            <label>
            <input name="age" type="radio" value="80-800" checked="checked" />
          80-800</label></td>
        </tr>
        <tr>
          <td align="right">编程时间</td>
          <td><label>
            <select name="time" size="1" id="time">
              <option value="一年" selected="selected">一年</option>
              <option value="二年">二年</option>
            </select>
          </label></td>
        </tr>
        <tr>
          <td align="right">使用的操作系统</td>
          <td><label>
            <select name="system" size="3" multiple="multiple" id="system">
              <option value="xp">windows xp</option>
              <option value="2000">2000</option>
              <option value="2003">2003</option>
            </select>
          </label></td>
        </tr>
        <tr>
          <td align="right">使用的编程语言</td>
          <td><label>
            <input name="lanager" type="checkbox" id="lanager" value="c" checked="checked" />
            c
          </label>
            <label>
            <input name="lanager" type="checkbox" id="lanager" value="c++" />
            c++      </label>
            <label>
            <input name="lanager" type="checkbox" id="lanager" value="java" />
            java      </label>
            <label>
            <input name="lanager" type="checkbox" id="lanager" value="c#" />
          c#</label></td>
        </tr>
        <tr>
          <td align="right">留言</td>
          <td><label>
            <textarea name="code" rows="5" id="code"></textarea>
          </label></td>
        </tr>
        <tr>
          <td align="right"><label>
            <input type="submit" name="Submit" value="提交" />
          </label></td>
          <td><label>
            <input type="reset" name="Submit2" value="重置" />
          </label></td>
        </tr>
      </table>
    </form>
    </body>
    </html>
      

  5.   

    前面提交form的那个页面中要有<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
      

  6.   

    这个我用dreamweaver 8做的 里面也有这句话
      

  7.   

    response.setContentType("text/html;charset=UTF-8");
      

  8.   

    乱码的问题有很我的地方可能会影起。页面,提交的方式,servlet中的设置编码。等等。