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

来源:2-3 验证码的校验

qq_火皇_0

2015-06-23 20:11

改成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();
    }

写回答 关注

4回答

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

    response是不是为null

    chavin 回复qq_火皇_...

    这个我还真没遇见过,我一般都是这么写的 response.getWrite().write(obj);

    2015-06-23 23:26:44

    共 2 条回复 >

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

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

    千里共良辰

    高人!谢谢啦~找啦半天没找出问题所在,tomcat都重装了差点重装idea,看到你的评论,我看了一下自己的编码格式,utf-8 写成了 uft-8了,多谢多谢

    2018-12-20 21:35:13

    共 1 条回复 >

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

    我也是这个问题 怎么破

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

    out没有实例化对象吧。。

    qq_火皇_...

    完全按照视频敲得。

    2015-06-23 23:07:34

    共 1 条回复 >

Java实现验证码制作

本教程就会带大家学习使用java实现各种验证码的方法

59909 学习 · 128 问题

查看课程

相似问题