ajax表单验证后台用户名是否存在

package ajaxservlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import db.DBconnection;

public class AjaxServlet extends HttpServlet {

	//private static final long serialVersionUID = 1L;

	public void destroy() {
		try {
			DBconnection.connectionClose();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html;charset=utf-8");
		response.setHeader("Cache-Control","no-cache");
		PrintWriter out=response.getWriter();
		
		String name=request.getParameter("username");
		String pass=request.getParameter("userpass");
		String pass2=request.getParameter("userpass2");
		
		String a=request.getParameter("a");
		String b=request.getParameter("b");
		
		System.out.println(name+" "+pass);
		System.out.println("a "+a);
		System.out.println("b "+b);
		request.setAttribute("name",name);
		System.out.println(name);
		
		try {
			if(checkName(name))
			{
				System.out.println(checkName(name));
				System.out.println("checkname="+name);
				out.write("用户名已经存在,请重新输入!");
				System.out.println("xxxxxxxxxxxxxxxxx");
				request.setAttribute("error.message","用户名已经存在");
			}
			else
			{
				out.write("此用户名合法");
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			out.close();
			e.printStackTrace();
		}
	}

	public boolean checkName(String name) throws SQLException   //检查用户名是否存在
	{
		boolean flag=false;
		Connection conn=DBconnection.getConnection();
		System.out.println("conn="+conn);
		/*String sql="select * from a_user where username='"+name+"'";
		System.out.println("name="+name);
		Statement state=conn.createStatement();
		ResultSet rs=state.executeQuery(sql);*/
		String sql="select * from a_user where username=?";
		PreparedStatement pstate=conn.prepareStatement(sql);
		pstate.setString(1,name);
		ResultSet rs=pstate.executeQuery();
		//System.out.println(rs.getInt(0));
		//System.out.println(rs.getString("username"));
		while(rs.next())
		{
			System.out.println("rs.getString(username)="+rs.getString("username"));
			flag=true;
		}
		return flag;
	}
	
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		
		//response.setContentType("text/html");
		this.doGet(request, response);
	}

	
	public void init() throws ServletException {
		
	}

}
  1.   
  1. //以下是ajax部分  
  2. var xmlhttp;  
  3.   
  4. function ajaxfun()  
  5. {  
  6.       
  7.     if (window.XMLHttpRequest)  
  8.       {// code for IE7+, Firefox, Chrome, Opera, Safari  
  9.       xmlhttp=new XMLHttpRequest();  
  10.       }  
  11.     else  
  12.       {// code for IE6, IE5  
  13.       xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");  
  14.       }  
  15.     return xmlhttp;  
  16. }  
  17.   
  18. window.onload=function()  
  19. {  
  20.       
  21.     document.getElementById("username1").onblur=function()  
  22.     {  
  23.         var name=document.getElementsByName("username")[0].value;  
  24.         xmlhttp=ajaxfun();  
  25.         xmlhttp.onreadystatechange=check;  
  26.         //xmlhttp.open("get","http://localhost:8080/ajaxtest/AjaxServlet?username="+name+"&time="+new Date().toTimeString(),true);  
  27.         //以下是get方法传值  
  28.         /*xmlhttp.open("get","./AjaxServlet?username="+name+"&time="+new Date().toTimeString(),true);  
  29.         xmlhttp.send(null);*/  
  30.           
  31.         /*  
  32.          * 如果需要像 HTML 表单那样使用 POST 传递数据,请使用 setRequestHeader() 来添加 HTTP 头。  
  33.          * 然后在 send() 方法中规定您希望发送的数据:  
  34.          */  
  35.         xmlhttp.open("post","./AjaxServlet?username="+name+"&time="+new Date().toTimeString(),true);  
  36.         xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded")  
  37.         xmlhttp.send("a=100&b=222");  
  38.           
  39.     }  
  40.       
  41. }  
  42. function check()  
  43. {  
  44.     alert(xmlhttp.status);  
  45.     if(xmlhttp.readyState==4 && xmlhttp.status==200)  
  46.     {  
  47.         alert(xmlhttp.status);  
  48.         document.getElementById("span").innerHTML=xmlhttp.responseText;  
  49.     }  
  50. }  
  1. //jsp中的body部分  
  2. <body>  
  3.   <%--<form action="/ajaxtest/RegisteServlet" method="get">  
  4.   <form action="" method="get" enctype="application/x-www-form-urlencoded">  
  5.   --%>  
  6.   <form action="/ajaxtest/RegisteServlet" method="get">  
  7.    用户名:<input type="text" name="username" id="username1"/><span id="span"></span><br>  
  8.  密码:<input type="password" name="userpass"/><br>  
  9.  确认密码:<input type="password" name="userpass2"/><br>  
  10.  <input type="submit" value="提交"/>  
  11.     
  12.   <input type="button" name="username" id="username1" value="点击"/>  
  13.   </form>  
  14.   </body>  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值