展会信息港展会大全

ajax对注册名进行验证检测是否存在于数据库中
来源:互联网   发布日期:2016-01-26 10:07:28   浏览:1726次  

导读:使用ajax对注册名进行验证判断它是否在数据库中存在,具体的实现如下,感性的朋友可以参考下,希望对大家有所帮助这个是我在网上看到的一个有错的ajax 我改正确了,却找不到那个帖子了。用servlet验证:复制代码 ...

使用ajax对注册名进行验证判断它是否在数据库中存在,具体的实现如下,感性的朋友可以参考下,希望对大家有所帮助

这个是我在网上看到的一个有错的ajax 我改正确了,却找不到那个帖子了。

用servlet验证:

复制代码 代码如下:

package Servlet;

import java.io.*;

import java.sql.*;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.*;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpServlet;

public class CheckServlet extends HttpServlet {

static HttpServletRequest request = null;

static HttpServletResponse response = null;

public static void main(String[] args) throws Exception, IOException{

CheckServlet c = new CheckServlet();

c.doPost(request, response);

}

public static final String DBDRIVER = "com.mysql.jdbc.Driver";

public static final String DBURL = "jdbc:mysql://localhost:3306/spring";

public static final String DBUSER = "root";

public static final String DBPASS = "liangke";

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

this.doPost(request, response);

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

request.setCharacterEncoding("gbk");

response.setContentType("text/html");

Connection conn = null;

PreparedStatement pstmt = null;

ResultSet rs = null;

PrintWriter out = response.getWriter();

String userid = request.getParameter("userid");// 接受验证的用户名

try {

Class.forName(DBDRIVER);

conn = DriverManager.getConnection(DBURL, DBUSER, DBPASS);

String sql = " select * from user where username=?";

pstmt = conn.prepareStatement(sql);

pstmt.setString(1, userid);

rs = pstmt.executeQuery();

StringBuffer jsonStr=new StringBuffer();

jsonStr.append("[{flag:'");

if(rs.next()){

jsonStr.append("true',alertTest:'aaa'}]");

out.println(jsonStr.toString());

}else{

jsonStr.append("false',alertTest:'bbb'}]");

out.println(jsonStr.toString());

}

out.close();

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

conn.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

}

}

前台显示页面:

复制代码 代码如下:

<%@ page language="java" pageEncoding="utf-8"%>

<%@ page import="java.sql.*"%>

<%@ page import="java.util.*"%>

<!doctype html>

<html lang="en">

<body>

<script>

//onload 当页面加载的时候会调用这个方法initPage

window.onload = initPage;

function initPage() {

alert("ee");

document.getElementById("userid").onblur = checkUserid;//引用函数方法。 onblur 事件在用户离开输入框时执行 JavaScript 代码

}

//创建请求对象

function createRequest() {

try {

request = new XMLHttpRequest();

} catch (tryMS) {

try {

request = new ActiveXObject("Msxml2.XMLHTTP");

} catch (otherMS) {

try {

request = new ActiveXObject("Microsoft.XMLHTTP");

} catch (failed) {

request = null;

}

}

}

return request;

}

//检查用户名是否重复

function checkUserid(){

alert("dd");

request=createRequest();

var theName = document.getElementById("userid").value;

request.open("POST","CheckServlet?userid="+theName,true);

request.onreadystatechange=checkUseridCallback;

request.send(null);

document.getElementById("msg").innerHTML="正在验证...";

}

//回调函数

function checkUseridCallback(){

if(request.readyState==4){

if(request.status==200){

var v = request.responseText;

var value1= eval(v)[0];

if( value1.flag=="true"){

document.getElementById("msg").innerHTML="用户ID重复";

}else{

document.getElementById("msg").innerHTML="此用户ID可以注册";

}

}

}

}

</script>

<form action="check.jsp" method="POST">

用户ID:

<input type="text" id="userid" name="userid">

<span id="msg"></span>

<br>

姓名

<input type="text" name="name">

</form>

</body>

</html>

赞助本站

人工智能实验室

相关热词: 数据库 ajax

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港