校验用户名是否存在案例


案例

  • 校验用户名是否存在
    • 服务器响应的数据,在客户端使用时,要想当作json数据格式使用
      • $.get(type):将最后一个参数tupe指定为”json”
      • 在服务器端设施MIME类型
        • response.setContentType(“test/html;charset=utf-8”);

regist.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>注册页面</title>
    <script src="js/jquery-3.6.0.min.js"></script>

    <script>
        //在页面加载完成后执行
        $(function () {
            //给username绑定blur事件
            $("#username").blur(function () {
                //获取username输入框的值
                var username = $(this).val();
                //发送ajax请求
                $.get("/findUserServlet", {username: username}, function (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);
                    }
                },"json");
            });
        });
    </script>
</head>
<body>
    <form>
        用户名:<input type="text" id="username" name="username" placeholder="请输入用户名">
        <span id="s_username"></span>
        <br><br>
        密码:<input type="password" name="password" placeholder="密码"><br><br>
        <input type="submit" value="注册">
    </form>
</body>
</html>

FindUserServlet

package com.ailyt.servlet;

import com.fasterxml.jackson.databind.ObjectMapper;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.util.HashMap;

@WebServlet(name = "findUserServlet", value = "/findUserServlet")
public class FindUserServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doPost(request, response);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("test/html;charset=utf-8");
        String username = request.getParameter("username");

        HashMap<String, Object> map = new HashMap<>();

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

        ObjectMapper mapper = new ObjectMapper();
        mapper.writeValue(response.getWriter(),map);
    }
}

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/281441.html

(0)
上一篇 2022年8月21日
下一篇 2022年8月21日

相关推荐

发表回复

登录后才能评论