Code example for PrintWriter

Methods: flush, write

0
        String validatecode = req.getParameter("validatecode");
        // 用户名和密码都不能为空。 
        // 虽然页面有不能为空校验,但是高级可能用户会修改js来绕过客户端校验,为保险起见后台再校验一次 
        if (isNullString(username) || isNullString(password) || isNullString(validatecode)) {
            // 返回登录结果到页面,页面将根据这个结果来判断是否登录成功 
            writer.write("用户名、密码、验证码都不能为空!");
            writer.flush();
            return; 
        } 
        //将用户输入的验证码与session中保存的验证码进行比较 
        if(!validatecode.equalsIgnoreCase(req.getSession().getAttribute(LOGIN_VALIDATE_STRING).toString())){
            writer.write("验证码有误!");
            writer.flush();
            return; 
        } 
        // 用户名密码验证码都不为空,且验证码是对的,开始登录 
        if (login(username, password)) {
            // 登录成功后一般会把用户名或其它信息存到session里供过滤器用,或者供其它页面使用 
            req.getSession().setAttribute("LOGIN_USERNAME", username);
            // 返回登录结果到页面,页面将根据这个结果来判断是否登录成功 
            writer.write("true");
            writer.flush();
        } else { 
            // 返回登录结果到页面,页面将根据这个结果来判断是否登录成功 
            writer.write("用户名或密码有误!");
            writer.flush();
        } 
    } 
 
    private boolean isNullString(String str) {
        return str == null || str.trim().length() == 0;