JavaWeb学习——登录、注册功能网页

JavaWeb学习——登录、注册功能网页

1.学习内容

利用JdbcTemplate、beanutils、jstl、JSON解析器、jsoup、servlet、mysql多个技术,实现登录注册页面与数据库连接,对数据库进行增删查改。并利用Filter实现页面拦截。

2. 成果展示

在这里插入图片描述

Ajax异步请求连接数据库,实现查询数据库比对用户是否已经存在

//页面加载完后,入口函数
$(function () {
    //当表单提交时校验所有方法
    $("#give").submit(function () {
        //如何返回为ture 表单提交 ; 如果返回false 表单不提交
        return checkUsername() && checkPassword();
    });

    //绑定离焦事件
    $("#name").blur(checkUsername);
    $("#password").blur(checkPassword);

});

js实现提交数据前验证

  $.get("checkUserServlet",{name: username}, function (data) {
            //判断userExsit键的值是否是true
            var span = $("#s_name")
            if (data.userExit) {
                //用户名存在
                span.css("color", "red");
                span.html(data.msg);
               // flag = false;
            } else {
                //用户名不存在
                span.css("color", "green");
                span.html(data.msg);
               // flag = true;
            }
        });


function checkPassword() {
    //获取用户密码的值
    var password = $("#password").val();
    //定义正则
    var reg_password = /^\w{2,8}$/;
    //判断,给出提示信息
    var flag = reg_password.test(password);
    if (flag) {
        //用户密码合法
        $("#password").css("border-bottom", "")
    } else {
        //用户名密码非法
        var span = $("#u_password")
        span.css("color", "red");
        span.html("请输入2-8位数字或字母");
        $("#password").css("border-bottom", "1px solid red")
    }
    return flag;
}


function checkUsername() {
    //获取用户名
    var username = $("#name").val();
    //定义正则
    var reg_username = /^\w{2,8}$/;
    //判断,给出提示信息
    var flag = reg_username.test(username);
    if (flag) {
        //用户密码合法
        $("#name").css("border-bottom", "")
    } else {
        //用户名密码非法
        var span = $("#s_name")
        span.css("color", "red");
        span.html("请输入2-8位数字或字母");
        $("#name").css("border-bottom", "1px solid red")
    }

    return flag;
}

在这里插入图片描述
实现登录web层逻辑

        //设置编码
        request.setCharacterEncoding("utf-8");
        //获取请求参数
        String user_name = request.getParameter("user_name");
        String user_password = request.getParameter("user_password");
        //得到请求传来的验证码
        String checkCode = request.getParameter("checkCode");

        //获取生成验证码
        HttpSession session = request.getSession();
        String checkCode_session = (String) session.getAttribute("checkCode_session");
        //删除Session储存的验证码
        session.removeAttribute("checkCode_session");
        if (checkCode_session != null && checkCode_session.equalsIgnoreCase(checkCode)) {

            //封装user对象
            User loginUser = new User();
            loginUser.setUser_name(user_name);
            loginUser.setUser_password(user_password);

            //调用login方法
            UserService service = new UserServiceImpl();
            User user = service.user_loginUser(loginUser);

            //调用findbyName方法将信息传入reg_success.jsp
            User userByName = service.findUserByName(user_name);

            //判断user
            if (user == null) {
                //登录失败
                //储存提示信息到request
                request.setAttribute("longin_error", "用户名或密码错误!");
                //转发到登陆页面
                request.getRequestDispatcher("/login.jsp").forward(request, response);
            } else {
                //登录成功
                //储存用户信息
                session.setAttribute("user", user_name);
                session.setAttribute("users",userByName);
                //重定向到main_index.jsp页面
                response.sendRedirect(request.getContextPath() + "/main_index.jsp");

            }
        } else {
            //验证码不一致
            //储存信息到request
            request.setAttribute("cc_error", "验证码错误!");
            //转发到登录页面
            request.getRequestDispatcher("/login.jsp").forward(request, response);
        }
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值