校驗用戶名是否存在


  校驗用戶名是否存在這種案例其實在我們日常生活中其實有很多,如申請賬號時,填寫用戶名時,會出現"此用戶名太受歡迎,請更換一個"的詞條,也會出現"此用戶名可用",如圖1所示

圖1

  過程實際上是文本輸入框失去焦點發送ajax異步請求,查詢數據庫是否存在該用戶名如果存在,則提示信息,此用戶名太受歡迎,請更換一個,如果不存在,則提示信息,可用。以bd為例,當輸入用戶名為"super",輸入框失去焦點時,發送請求,把我填寫的請求參數"super"傳給了服務器端,響應會的結果為Json的數據,並且里面的鍵“userExsit”的值為1,說明該用戶存在,提示更換一個名字,如圖2所示;當隨便輸入時,則里面的鍵“userExsit”的值為0,說明用戶不存在,該名字可用,如圖3所示。接下來完成所上需求

圖2

 

 

圖3

首先前端頁面為:

<!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事件
           $("#username").blur(function () {
               //獲取username文本輸入框的值
              var username = $(this).val();
              //發送ajax請求
               //期望服務器響應回的數據格式{"userExsit":true,"msg":"此用戶名太受歡迎,請更換一個"}
               //                           {"userExsit":false,"msg":"用戶名可用"}
              $.get("findUserServlet",{username:username},function (data) {
                  // 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);
                  }
                //將文件格式設為json格式
              },"json");
           });
        });
    </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="注冊">
    </form>
</body>
</html>

 

然后為findUserServlet文件,實際需要連接數據庫,查詢數據庫進行判斷,在這個例子中就簡單比較了,省略了連接數據庫的操作,直接與字符串比較

package cn.stormtides.web.servlet;

import com.fasterxml.jackson.databind.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 {
        String username=request.getParameter("username");

        //期望服務器響應回的數據格式{"userExsit":true,"msg":"此用戶名太受歡迎,請更換一個"}
        //                           {"userExsit":false,"msg":"用戶名可用"}
        response.setContentType("text/html;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,轉回客戶端
        ObjectMapper mapper=new ObjectMapper();
        mapper.writeValue(response.getWriter(),map);
    }

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

  

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM