首頁 > 軟體

JavaWeb實現註冊使用者名稱檢測

2022-08-25 14:02:36

本文範例為大家分享了JavaWeb實現註冊使用者名稱檢測的具體程式碼,供大家參考,具體內容如下

案例說明

實現一個可以非同步獲取使用者名稱是否被註冊的小案例。如:

1.編寫Html與js:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Login</title>
    <script src="/jqueryWeb/js/jquery-3.3.1.js"></script>
    <script>
        $(function () {
            $("#username").on("blur",function () {
                $.ajax({
                    url : "/jqueryWeb/checkUsername",
                    data : "username="+$("#username").val(),
                    dataType : "json" ,
                    type : "post",
                    success : function (data) {
                        if(data.code == 1){
                            $("#msg").css("color","green");
                        }else {
                            $("#msg").css("color","red");
                        }
                        $("#msg").css("display","inline")
                        $("#msg").text(data.msg);
                    },
                    error: function () {
                        alert("伺服器發生了錯誤");
                    }
                })
            });

        });
    </script>
</head>
<body>
    <form action="#" method="post">
        <input id="username" name="username" type="text" placeholder="註冊使用者名稱"/><br>
        <label id="msg" style="display: none"></label><br>
        <input id="paw" name="paw" type="password" placeholder="密碼"><br>
        <br>
        <input type="submit" value="提交"/>
    </form>
</body>
</html>

2.定義訊息的實體類

public class Result {
    public static Result NO_REGISTER = new Result(1,"恭喜,可以註冊! ");
    public static Result ALREADY_REGISTER = new Result(0, "已經被註冊了,請換一個使用者名稱!");
    private int Code;
    private String msg;
    public Result() {
    }
    public Result(int code, String msg) {
        Code = code;
        this.msg = msg;
    }
    //get,set方法
 )

3.編寫Servlet

@WebServlet("/checkUsername")
public class LoginController extends javax.servlet.http.HttpServlet {
    private List<String> list;
    @Override
    public void init(ServletConfig config) throws ServletException {
    //模擬已經被註冊的使用者名稱
        list = new ArrayList<String>();
        list.add("zhangsan");
        list.add("lisi");
        list.add("wangwu");
        list.add("zhaoliu");

    }
    protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {
        String username = request.getParameter("username");
        Result result = null;
        if(list.contains(username)){
            result = Result.ALREADY_REGISTER;
        }else{
            result = Result.NO_REGISTER;
        }
        response.setContentType("text/html;charset=utf-8");
        response.getWriter().println(new ObjectMapper().writeValueAsString(result));

    }

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

效果:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。


IT145.com E-mail:sddin#qq.com