QQ登录

只需要一步,快速开始

APP扫码登录

只需要一步,快速开始

手机号码,快捷登录

查看: 1858|回复: 0

[JAVA/JSP] AJAX实现注册验证用户名

[复制链接]

等级头衔

积分成就    金币 : 2810
   泡泡 : 1516
   精华 : 6
   在线时间 : 1245 小时
   最后登录 : 2024-5-18

丰功伟绩

优秀达人突出贡献荣誉管理论坛元老

联系方式
发表于 2021-4-10 23:05:56 | 显示全部楼层 |阅读模式
功能说明  ~3 K9 B& f% ?" u# g; e/ k2 B& g# }
       当用户在注册页面输入用户名并且鼠标焦点离开输入框时,到数据表中去验证该用户名是否已经存在,如果存在提示不可用,否则,提示可用。0 |6 O- X$ L. c3 S( Y
接口/ ~- o) |3 j2 X0 F' n# B9 S
  1. public interface UserDao {
  2. public User findName(String name);
  3. }
接口实现类: Y- Z3 e& C, g
  1. import java.sql.Connection;
  2. import java.sql.PreparedStatement;
  3. import java.sql.ResultSet;
  4. import java.sql.SQLException;
  5. public class UserDaoImpl implements UserDao {
  6. @Override
  7. public User findName(String name) {
  8.   User user =null;
  9.   Connection conn = DBHelper.getConn();
  10.   String sql = "select * from user where name=?";
  11.   try {
  12.    PreparedStatement ps = conn.prepareStatement(sql);
  13.    ps.setString(1,name);
  14.    ResultSet rs = ps.executeQuery();
  15.    if (rs.next()){
  16.     user = new User();
  17.     user.setId(rs.getInt(1));
  18.     user.setName(rs.getString(2));
  19.     user.setPassword(rs.getString(3));
  20.    }
  21.   } catch (SQLException e) {
  22.    e.printStackTrace();
  23.   }
  24.   return user;
  25. }
  26. }
servlet- Y: W- F4 N% s1 B) f
  1. import javax.servlet.ServletException;
  2. import javax.servlet.annotation.WebServlet;
  3. import javax.servlet.http.HttpServlet;
  4. import javax.servlet.http.HttpServletRequest;
  5. import javax.servlet.http.HttpServletResponse;
  6. import java.io.IOException;
  7. @WebServlet("/findName")
  8. public class FindNameServlet extends HttpServlet {
  9. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  10.   request.setCharacterEncoding("utf-8");
  11.   response.setContentType("text/html;charset=utf-8");
  12.   String name = request.getParameter("name");
  13.   UserDao userDao = new UserDaoImpl();
  14.   User name1 = userDao.findName(name);
  15.   if (name1!=null){
  16.    response.getWriter().write("1");
  17.   }else {
  18.    response.getWriter().write("2");
  19.   }
  20. }
  21. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  22.   this.doPost(request, response);
  23. }
  24. }
JSP页面
6 o/ C  D1 b; _9 ?
  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <html>
  3. <head>
  4. <title>AJAX实际操作注册验证用户名</title>
  5. <script src="js/jquery-1.8.3.js"></script>
  6. </head>
  7. <body>
  8. <form action="#" method="post">
  9. <script type="text/javascript">
  10.   $(function () {
  11.    $("[name=userName]").blur(function () {
  12.     $.ajax({
  13.      type:"get",
  14.      url:"findName?name="+$("[name=userName]").val(),
  15.      dataType:"text",
  16.      success:function (data) {
  17.       //alert(data);
  18.       if (data=="1"){
  19.        $("#show").html("用户已存在!!!")
  20.       }else {
  21.        $("#show").html("用户名可用")
  22.       }
  23.      }
  24.     })
  25.    })
  26.   });
  27. </script>
  28. 账号<input type="text" name="userName"><span id="show"></span></br>
  29. 密码<input type="password" name="password"></br>
  30. <input type="submit" value="提交">
  31. </form>
  32. </body>
  33. </html>
数据库如下:4 o  w" }; X5 V
1.jpg
5 W" I5 w# F% V+ F0 f
运行结果如下:
4 t% N4 v9 S. E% X. u 2.jpg
' @) C2 v) ^, Z2 M
3.jpg
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|paopaomj.COM ( 渝ICP备18007172号 )

GMT+8, 2024-5-21 04:40

Powered by paopaomj X3.4 © 2016-2024 sitemap

快速回复 返回顶部 返回列表