servlet跳转中的中文输出

来源:互联网 发布:网络舆情管理的方法 编辑:程序博客网 时间:2024/05/15 00:15

  public void doPost(HttpServletRequest request,HttpServletResponse response)
            throws ServletException,IOException{
        response.setContentType("text/html;charset=UTF-8");//response为设置响应值类型;
        PrintWriter out=response.getWriter();//getWriter()的作用是用来返回out的对象;然后用out.println()来输出脚本!
        request.setCharacterEncoding("UTF-8");
        String name=request.getParameter("name");
        //name1=new String(name.getBytes("ISO8859_1"),"UTF-8");这句是不用的!!!!!
     //   name=new String(name.getBytes("ISO8859_1"),"utf-8");
        String secret=request.getParameter("secret");
        String sex=request.getParameter("sex");
     //   sex=new String(sex.getBytes("ISO8859_1"),"UTF-8");气死我了,竟然不用这句;
        String Email=request.getParameter("Email");
        out.println("<html>");
        out.println("<head>");
        out.println("<title>"+"这是一个Servlet获取表单的例子"+"</title>");
        out.println("<body>");
        out.println("姓名:"+name+"<br>");   //<%=name%>
        out.println("密码:"+secret+"<br>");
        out.println("性别:"+sex+"<br>");
        out.println("Email:"+Email+"<br>");
        out.println("</body>");
        out.println("</html>");
        out.close();

这个跳转用是奇怪,要输出中文不用这一句: name=new String(name.getBytes("ISO8859_1"),"utf-8");

弄得我试了一个晚上才弄得出中文,可能是受在JSP中,<% name=new String(name.getBytes("ISO8859_1"),"UTF-8");%>

<%=name%>的影响吧;

 

servlet在web.xml的设置:

<display-name>Servlettable Technoligy</display-name>
    <description>Servlet Exception</description>
 <servlet>
 <servlet-name>Sampletable</servlet-name>
 <servlet-class>testjava.Sampletable</servlet-class>
 </servlet>
 <servlet-mapping>
 <servlet-name>Sampletable</servlet-name>
 <url-pattern>/Sampletable</url-pattern>
 </servlet-mapping>

这句感觉还挺好用的!!

原创粉丝点击