本篇内容主要讲解“如何实现用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校验用户名是否存在”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。