首页 > 其他分享 >验证码和前台数据处理结果

验证码和前台数据处理结果

时间:2022-08-24 10:01:30浏览次数:53  
标签:info 用户名 验证码 var flag 前台 数据处理 password email

验证码和前台数据处理结果

RegistUserServlet类:

@WebServlet("/registUserServlet")
public class RegistUserServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //验证校验
        String check = request.getParameter("check");
        //从session中获取验证码
        HttpSession session = request.getSession();
        String checkcode_server = (String) session.getAttribute("CHECKCODE_SERVER");
        //为了保证验证码只能使用一次
        session.removeAttribute("CHECKCODE_SERVER");
        //比较
        if (checkcode_server==null || !checkcode_server.equalsIgnoreCase(check)){
            //验证码错误
            ResultInfo info = new ResultInfo();
            info.setFlag(false);
            info.setErrorMsg("验证码错误");
            //将info对象序列化为json
            ObjectMapper mapper = new ObjectMapper();
            String json = mapper.writeValueAsString(info);
            response.setContentType("application/json;charset=utf-8");
            response.getWriter().write(json);
            return;
        }


        //1、获取数据
        Map<String, String[]> map = request.getParameterMap();
        //2、封装对象
        User user = new User();
        try {
            BeanUtils.populate(user,map);
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        }
        //3、调用service完成注册
        UserService service = new UserServiceImpl();
        boolean flag = service.regist(user);
        //4、响应结果
        ResultInfo info = new ResultInfo();
        if (flag){
            //注册成功
            info.setFlag(true);
        }else {
            //注册失败
            info.setFlag(false);
            info.setErrorMsg("注册失败");
        }
        //将info对象序列化为json
        ObjectMapper mapper = new ObjectMapper();
        String string = mapper.writeValueAsString(info);
        //将json数据写回客户端
        //设置content-type
        response.setContentType("application/json;charset=utf-8");
        response.getWriter().write(string);

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doPost(request, response);
    }
}

register.html页面:

<script>
            /*
                表单校验:
                    1、用户名:单词字符,长度8到20位
                  2、密码:单词字符,长度8到20位
                  3、email:邮件格式
                  4、姓名:非空
                  5、手机号:手机号格式
                  6、出生日期:非空
                  7、验证码:非空
             */
            //校验用户名
            function checkUsername() {
                //1、获取用户名
                var usernmae = $("#username").val();
                //2、定义正则
                var reg_username = /^\w{8,20}$/;
                //判断给出提示信息
                var flag = reg_username.test(usernmae);
                if (flag){
                    //用户名合法
                    $("#username").css("border","");
                } else {
                    //用户名非法
                    $("#username").css("border","1px solid red");
                }
                return flag;

            }
            //校验密码
            function checkPassword(){
                //1、获取用户名
                var password = $("#password").val();
                //2、定义正则
                var reg_password = /^\w{8,20}$/;
                //判断给出提示信息
                var flag = reg_password.test(password);
                if (flag){
                    //用户名合法
                    $("#password").css("border","");
                } else {
                    //用户名非法
                    $("#password").css("border","1px solid red");
                }
                return flag;
            }
            //校验邮箱
            function checkEmail(){
                //1、获取邮箱
                var email = $("#email").val();
                //定义规则
                var reg_email = /^\w+@\w+\.\w+$/;
                //判断
                var flag = reg_email.test(email);
                if (flag){
                    $("#email").css("border","");
                }else {
                    $("#email").css("border","1px solid red");
                }
                return flag;
            }

            $(function () {
                $("#registerForm").submit(function () {
                    //发送数据到服务器
                    if (checkUsername() && checkPassword() && checkEmail()){
                        //校验通过发送ajax请求,提交表单的数据
                        $.post("registUserServlet",$(this).serialize(),function (data) {
                            //处理服务器响应的数据
                            if(data.flag){
                                //注册成功,跳转成功页面
                                location.href = "register_ok.html";
                            }else {
                                $("#errorMsg").html(data.errorMsg);
                            }
                        });
                    }
                    return false;
                });

                $("#username").blur(checkUsername);
                $("#password").blur(checkPassword);
                $("#email").blur(checkEmail);
            })
        </script>

 

标签:info,用户名,验证码,var,flag,前台,数据处理,password,email
From: https://www.cnblogs.com/xjw12345/p/16618619.html

相关文章

  • pagehelper list数据处理后进行分页
    问题背景:PageHelper的分页只有在PageHelper.startPage(pageNum,pageSize)之后的数据库查询语句才起作用,原因是PageHelper的实现原理是在数据库查询过程中通过拦截器拦截处......
  • 【Python-WebDriver实战篇】处理验证码的方式
    【Selenium-WebDriver实战篇】Selenium验证码处理方式之前记录过使用java去处理验证码的方式,但是总是不是特别理想,会有错误的时候。这两天项目需要,就调研了下用python去......
  • laravel框架开发验证码
    1.安装验证码库在packagist网站中找到 mews/captcha验证码库,使用composer载入验证码库composerrequiremews/captcha=3.02.注册验证码服务Laravel采用服务容器开......
  • laravel+mews/captcha 打开页面后的首次验证码总是验证失败的问题解决
    出现问题的原因验证码获取后,还有其他的接口请求,导致验证码的缓存被覆盖(参考文章:LaravelSession遇到的坑)解决办法修改vendor/mews/captcha/src/Captcha.php源码,将......
  • 使用JMeter测试.Net5.0,.Net6.0框架下无数据处理的并发情况
    1.  安装JMeter及使用1.1下载JMeter登录官方网站找到下载链接进行下载:https://jmeter.apache.org/download_jmeter.cgi 1.2配置环境变量配置JMeter环境变量新建......
  • 验证码不会过?用Python带你实现简单的验证码处理
    前言嗨喽,大家好呀~这里是爱看美女的茜茜呐  我们在做采集数据的时候,过快或者访问频繁,或者一访问就给弹出验证码,然后就蚌珠了~  那么今天!博主就给大家来一个......
  • 验证码太反人类?试试这款自动跳过验证码的神器
    提到谷歌,我们大概能夸出它的一百种优点。是的,作为一款搜索引擎,谷歌的好用之处自然不必多讲。然而要说到谷歌最失败的发明,那就不得不提到它的验证码机制了。没错,就是下面......
  • 登录验证码分析、 登录验证代码实现
    登录验证码分析需求:1.访问day17_case案例的资源。验证其是否登录3。如果登录了,则直接放行。4.如果没有登录,则跳转到登录页面,提示"您尚未登录,请先登录"。  登录验证代......
  • 手机验证码原理
    表单提交,把手机号码传送到后端;后端拿到手机号码后根据相关算法随机形成一个验证码,并将其保存在数据库;用户拿到验证码后将验证码填写完毕提交后,这时候前端会将用户填写的验......
  • 页面调整、 登录功能_验证码显示
    页面调整在jsp页面添加(添加,删除,查询)<divstyle="float:right;margin:5px;"><aclass="btnbtn-primary"href="${pageContext.request.contextPath}/add.jsp">添......