校验用户名是否存在(ajax+jackson)

Posted 食惯嘴第一才子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了校验用户名是否存在(ajax+jackson)相关的知识,希望对你有一定的参考价值。

只是简单的仿某度注册的用户名输入离焦后检验

 

 目录结构

 

 

 

 没有涉及到数据库

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>校验用户名是否存在</title>
    <script src="js/jquery-3.3.1.min.js"></script>
    <script>
        //页面加载完成后
        $(function () {
            //给用户名输入框定义一个离焦事件
            $("#username").blur(function () {
                //获取文本输入框的值
                var username=$(this).val();
                /* 期望服务器端响应回来的数据格式是这样的(json):
                        {"userExit":true,"msg":"此用户太受欢迎,请换一个"}
                        {"userExit":false,"msg":"用户名可用"}
                 */
                $.get("findUsernameServlet",{username:username},function (data) {
                    alert(data.msg);
                    var span = $("#s_username")
                    //判断响应回来的数据的键userExit是否为true
                    if (data.usernameExsit){
                        //true 用户名存在
                        span.css("color","red");
                        span.html(data.msg);
                    } else {
                        //false  用户名不存在
                        span.css("color","green");
                        span.html(data.msg);
                    }
                },"json");
            });
        });
    </script>
</head>
<body>
    <form action="" method="get">
        <input type="text" id="username" name="username" placeholder="请输入用户名">
        <span id="s_username"></span><br>
        <input type="password" name="password" placeholder="请输入密码"><br>
        <input type="submit" value="注册">
    </form>
</body>
</html>
View Code
java servlet
@WebServlet("/findUsernameServlet")
public class FindUsernameServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        String username = request.getParameter("username");
        response.setContentType("application/json;charset=utf-8");

        Map<String,Object> map=new HashMap<>();
        /*判断浏览器客户端传过来的数据  username
           true   {"userExit":true,"msg":"此用户太受欢迎,请换一个"}
           false    {"userExit":false,"msg":"用户名可用"}
             */
        if ("tom".equals(username)){
            map.put("usernameExsit",true);
            map.put("msg","此用户太受欢迎,请换一个");
        }else {
            map.put("usernameExsit",false);
            map.put("msg","用户名可用");
        }
        //java:map-->json
        ObjectMapper mapper=new ObjectMapper();
        mapper.writeValue(response.getWriter(),map);
    }

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

 

 

 

以上是关于校验用户名是否存在(ajax+jackson)的主要内容,如果未能解决你的问题,请参考以下文章

校验用户名是否存在

项目实战---使用ajax完毕username是否存在异步校验

自定义一个校验器--------------------------完成用户注册时候,对username是否符合规则以及时候已经存在于数据库的校验

案例7-用户名异步校验

用户名异步校验

第65篇 AJAX初识 校验用户名 登录示例 文件上传 csrftoken