本文实例为大家分享了AJAX实现注册验证用户名的具体代码,供大家参考,具体内容如下
功能说明
当用户在注册页面输入用户名并且鼠标焦点离开输入框时,到数据表中去验证该用户名是否已经存在,如果存在提示不可用,否则,提示可用。
接口
1 2 3 | public interface UserDao { public User findName(String name); } |
接口实现类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class UserDaoImpl implements UserDao { @Override public User findName(String name) { User user = null ; Connection conn = DBHelper.getConn(); String sql = "select * from user where name=?" ; try { PreparedStatement ps = conn.prepareStatement(sql); ps.setString( 1 ,name); ResultSet rs = ps.executeQuery(); if (rs.next()){ user = new User(); user.setId(rs.getInt( 1 )); user.setName(rs.getString( 2 )); user.setPassword(rs.getString( 3 )); } } catch (SQLException e) { e.printStackTrace(); } return user; } } |
servlet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | 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; @WebServlet ( "/findName" ) public class FindNameServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding( "utf-8" ); response.setContentType( "text/html;charset=utf-8" ); String name = request.getParameter( "name" ); UserDao userDao = new UserDaoImpl(); User name1 = userDao.findName(name); if (name1!= null ){ response.getWriter().write( "1" ); } else { response.getWriter().write( "2" ); } } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this .doPost(request, response); } } |
JSP页面
1 2 | < title >AJAX实际操作注册验证用户名</ title >< script src = "js/jquery-1.8.3.js" ></ script > |
数据库如下:
运行结果如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持IT俱乐部。