Ajax-——验证用户注册-——数据库是否存在

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ZHANGLIHAOOO/article/details/80694284

一:创建数据库

简要创建数据库,数据库名称为 user 创建表 users  字段name pass  如图:

                                                    

二:创建注册界面:

<html>
  <head>
    <title>My Ajax</title>
<script type="text/javascript">
  		window.onload  = function(){
  		
  		var nameV=	document.getElementsByName("name")[0];
  			nameV.onblur = function(){
  				var name  = this.value;
  				var re = new XMLHttpRequest();
  				re.open("GET", "Yanz?name="+name);
  				
  				re.onreadystatechange = function(){
  					if(re.readyState==4)
  						{
  							if(re.status==200)
  								{
  								
  						var tsy = 	document.getElementById("tsy");
  						
  									if(re.responseText=="true")
  										{
  										tsy.innerHTML= "存在";
  										tsy.style.color="lime";
  										}
  									else 
  										{
  											tsy.innerHTML="可以";
  											tsy.style.color="red";
  										}
  									
  								}
  						}
  					
  					
  				}
  				
  				re.send(null);
  				
  			}
  		}
 </script>
  </head>
  
  <body>
	
    	用户名:<input type="text" name="name" /> <span id="tsy"></span>
    		<br>密码:<input type="password" name="pwd" >
    			<input type="submit" value="提交">
    
    
  </body>
</html>

三:创建Servlet进行处理:

public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
			PrintWriter writer = response.getWriter();
			
		String name = request.getParameter("name");
		
		try {
			Class.forName("com.mysql.jdbc.Driver");
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		String url="jdbc:mysql://127.0.0.1:3306/user";
		String user="root";
		String password = "root";
		
		
		
		try {
			Connection conn = DriverManager.getConnection(url, user, password);
			String sql = "select * from users ";
			PreparedStatement ps = conn.prepareStatement(sql);
			ResultSet rs = ps.executeQuery();
			String users = null;
			
		
			StringBuffer sb = new StringBuffer();
			
			while(rs.next())
			{
				sb.append(rs.getString("name"));
				sb.append(",");
			}
//			System.out.println(sb);
			
			
			String names= sb.toString();
//			System.out.println(names);
			String[] names2 = names.split(",");
		for(int i = 0;i<names2.length;i++)
		{
			//System.out.println(names2[i].equals(name));
			if(names2[i].equals(name))
			{	
				writer.print(true);
				break;
			}
			
		}
			
				
			rs.close();
			ps.close();
			conn.close();
			
			
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
	}

	/**
	 * The doPost method of the servlet. <br>
	 *
	 * This method is called when a form has its tag value method equals to post.
	 * 
	 * @param request the request send by the client to the server
	 * @param response the response send by the server to the client
	 * @throws ServletException if an error occurred
	 * @throws IOException if an error occurred
	 */
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		doGet(request, response);
	}

四:进行测试

当输入aa时,数据库中有记录,鼠标移出输入框时,将给出“存在”的提示。

同理,当输入“zhang”时,数据库中有记录,仍给出“存在”的提示。

当输入数据库中不存在的记录时,给出“可以”的提示。

大致功能就是实现这个功能。简单的测试,很多分层的地方直接现在了一起。



猜你喜欢

转载自blog.csdn.net/ZHANGLIHAOOO/article/details/80694284
今日推荐