温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何实现用Ajax校验用户名是否存在

发布时间:2021-10-11 10:11:00 来源:亿速云 阅读:147 作者:iii 栏目:开发技术

本篇内容主要讲解“如何实现用Ajax校验用户名是否存在”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何实现用Ajax校验用户名是否存在”吧!

jsp页面

我引入了bootstrap和jQuery

<div class="form-group">
     <label for="inputEmail3" class="col-sm-2 control-label"
      >姓名</label>
     <div class="col-sm-10">
      <input type="text" class="form-control" id="studentName"
       name="studentName" placeholder="请输入姓名">
        <span id="s_studentName"></span>
     </div>
</div>

register.jsp页面

<script src="js/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script>
 //页面加载完成之后
 function fun() {
  //给用户名绑定blur事件
  $("#studentName").blur(function() {
   //获取studentName文本框的值
   var studentName = $("#studentName").val();
   //发送ajax请求
   //期望服务器响应回的数据格式{"userExsit":true,"msg":"此用户名太受欢迎,请更换一个"}
   //                          {"userExsit":false,"msg":"此用户名已存在"}
   $.get("CheckNameServlet", {
    "studentName" : studentName
   }, function(data) {
    //判断userExsit键的值是否为true
    var span = $("#s_studentName");
    if (data.isExist) {
     //用户不存在
     span.css("color", "red");
     span.html(data.msg);
    } else {
     //用户存在,可以给提示,也可以不给
     span.html("");
    }
   },"json");
  });
 };
 fun();
</script>

后台student文件下的CheckNameServlet页面

protected void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
   //设置编码格式
  response.setContentType("text/html;charset=UTF-8");
  //获取前端页面的值
  String name = request.getParameter("studentName");
  // 期望服务器响应回的数据格式{"isExsit":true,"msg":"此用户名太受欢迎,请更换一个"}
  // {"userExsit":false,"msg":"此用户名已存在"}

  // 检验是否存在该用户名
  try {
   boolean isExist = StudentService.isExist(name);
   System.out.println("isExist" + isExist);
   Map<String, Object> map = new HashMap<>();
   // 通知页面,到底有没有
   if (isExist) {
    map.put("isExist", true);
    map.put("msg", "此用户名太受欢迎,请更换一个");
   } else {
    map.put("isExist", false);
    // map.put("msg", "用户名可用");
   }
   //将map转换为json之前,要导包哦~
   // 将map转为json,并传递给客户端
   ObjectMapper mapper = new ObjectMapper();
   mapper.writeValue(response.getWriter(), map);
  } catch (SQLException e1) {
   // TODO Auto-generated catch block
   e1.printStackTrace();
  }

 }

JDBCDemo的方法的实现(我没实现接口,直接写的)

public static boolean checkName(String name) throws SQLException {
  boolean flag = false;
  String sql = "select * from student_table where student_name=?";
  PreparedStatement statement = connection.prepareStatement(sql);
  statement.setString(1, name);
  ResultSet set = statement.executeQuery();
   如果存在我输入的用户名和数据库表中已有的用户名相同时
  if(set.next()) {
   flag = true;
  }
  return flag;
 }
}

到此,相信大家对“如何实现用Ajax校验用户名是否存在”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI