问答详情
源自:2-3 验证码的校验

PrintWriter out =response.getWriter();为什么会错误?

改成PrintWriter out = new PrintWriter(res.getOutputStream())就可以了?

public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        System.out.println("!");  // 检验
        String piccode =(String)request.getSession().getAttribute("piccode");
        String checkcode =request.getParameter("checkcode");
        checkcode =checkcode.toUpperCase();
        System.out.println(checkcode+" "+piccode);  // 检验

        response.setCharacterEncoding("text/html;charset=utf-8");
        System.out.println("!!");   // 检验
        //PrintWriter out =response.getWriter(); //错误
        PrintWriter out =new PrintWriter(response.getOutputStream()); //正确
        System.out.println("!!!");   // 检验
        if(checkcode.equals(piccode))
        {
            out.println("验证码输入正确");
            
        }
        else
        {
            out.println("验证码输入错误");
        }
        out.flush();
        out.close();
    }

提问者:qq_火皇_0 2015-06-23 20:11

个回答

  • chavin
    2015-06-23 21:45:57
    已采纳

    response是不是为null

  • 木鱼Able
    2016-07-24 10:11:51

    是你的servlet的编码格式的语句写错了,应该这样的 response.setContentType("text/html;charset=utf-8");

  • 离开以后3134424
    2016-04-23 10:10:59

    我也是这个问题 怎么破

  • Werber丶
    2015-06-23 22:50:02

    out没有实例化对象吧。。