ajax表单验证后台用户名是否存在
发布时间:2020-12-16 00:55:22 所属栏目:百科 来源:网络整理
导读: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.Re
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,IOException { //response.setContentType("text/html"); this.doGet(request,response); } public void init() throws ServletException { } }
//以下是ajax部分 var xmlhttp; function ajaxfun() { if (window.XMLHttpRequest) {// code for IE7+,Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6,IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } return xmlhttp; } window.onload=function() { document.getElementById("username1").onblur=function() { var name=document.getElementsByName("username")[0].value; xmlhttp=ajaxfun(); xmlhttp.onreadystatechange=check; //xmlhttp.open("get","http://localhost:8080/ajaxtest/AjaxServlet?username="+name+"&time="+new Date().toTimeString(),true); //以下是get方法传值 /*xmlhttp.open("get","./AjaxServlet?username="+name+"&time="+new Date().toTimeString(),true); xmlhttp.send(null);*/ /* * 如果需要像 HTML 表单那样使用 POST 传递数据,请使用 setRequestHeader() 来添加 HTTP 头。 * 然后在 send() 方法中规定您希望发送的数据: */ xmlhttp.open("post",true); xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded") xmlhttp.send("a=100&b=222"); } } function check() { alert(xmlhttp.status); if(xmlhttp.readyState==4 && xmlhttp.status==200) { alert(xmlhttp.status); document.getElementById("span").innerHTML=xmlhttp.responseText; } }
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |