首页 > 其他分享 >案例-校验用户名是否存在

案例-校验用户名是否存在

时间:2023-02-21 09:35:08浏览次数:27  
标签:username map 用户名 校验 案例 json msg import

案例-校验用户名是否存在

校验用户名是否存在

  1.服务器响应的数据,在客户端使用时,要想当做json数据格式使用。有两种解决方案:

    1.$.get(type):将最后一个参数type指定为"json"

    2.在服务器端设置MIME类型

      response.setContentType("application/json;charset=utf-8");

注册页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>校验用户名是否存在</title>
    <script>
        // 在页面加载完成后
        $(function () {
            // 给username绑定blur时间
            $("#username").blur(function () {
                // 获取username文本输入框的值
                var username = $(this).val();
                // 发送ajax请求
                // 期望服务器响应回的数据格式:{"username":true,"msg":"此用户太受欢迎,请更换一个"}
                //                          {"userExsit":false,"msg":"用户名可用"}
                $.get("findUserServlet",{username:username},function (data) {
                    // 判断userExsit键的值是否是true

                    // alert(data);
                    var span = $("#s_username");
                    if (data.userExsit) {
                        // 用户名存在
                        span.css("color","red");
                        span.html(data.msg);
                    } else {
                        // 用户名不存在
                        span.css("color","green");
                        span.html(data.msg);
                    }
                });
            });
        });
    </script>
</head>
<body>

    <form>

        <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="注册"><br>

    </form>

</body>
</html>

FindUserServlet类

package com.example.day22_ajax_json.web.servlet;

import com.example.day22_ajax_json.web.test.ObjectMapper;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

@WebServlet("/findUserServlet")
public class FindUserServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //1.获取用户名
        String username = request.getParameter("username");

        //2.调用service层判断用户名是否存在

        //期望服务器响应回的数据格式:{"userExsit":true,"msg":"此用户名太受欢迎,请更换一个"}
        //                         {"userExsit":false,"msg":"用户名可用"}

        //设置响应的数据格式为json
        response.setContentType("application/json;charset=utf-8");
        Map<String,Object> map = new HashMap<String,Object>();

        if("tom".equals(username)){
            //存在
            map.put("userExsit",true);
            map.put("msg","此用户名太受欢迎,请更换一个");
        }else{
            //不存在
            map.put("userExsit",false);
            map.put("msg","用户名可用");
        }

        //将map转为json,并且传递给客户端
        //将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);
    }
}

标签:username,map,用户名,校验,案例,json,msg,import
From: https://www.cnblogs.com/wsfj/p/17138935.html

相关文章