首頁 > web前端 > js教程 > 主體

AJAX用於判定使用者是否註冊

亚连
發布: 2018-05-23 10:02:12
原創
1616 人瀏覽過

這篇文章主要為大家詳細介紹了AJAX用於判定用戶是否註冊,具有一定的參考價值,感興趣的小伙伴們可以參考一下

#在很多註冊的頁面上,我們可能會遇到以下情況,當我們註冊用戶名的時候可能會提示該用戶名已註冊,其實作是應用AJAX技術。

先寫一個登陸頁面

<html>
<head>
<title></title>
<script type="text/javascript">
var xmlHttp;
var flag;
function createXMLHttp(){
if(window.XMLHttpRequest){
xmlHttp=new XMLHttpRequest();
}else{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}

function checkUserid(userid){
createXMLHttp();
xmlHttp.open("POST","CheckServlet?userid="+userid);
xmlHttp.onreadystatechange=checkUseridCallback;
xmlHttp.send();
document.getElementById("msg").innerHTML="正在验证。。。";
}

function checkUseridCallback(){
if(xmlHttp.readyState==400){
if(xmlHttp.status==200){
var text=xmlHttp.responseText;
if(text=="true"){
flag=false;
document.getElementById("msg").innerHTML="用户ID重复,无法使用";

}else{
flag=true;
document.getElementById("msg").innerHTML="此用户ID可以注册";
}
}
}
}

function checkForm(){
return flag;
}

</script>
</head>
<body>

<form action="tt.jsp" method="post" onsubmit="return checkForm()">
用户ID <input type="text" name="userid" onblur="checkUserid(this.value)"><span id="msg"></span><br>
姓名:<input type="text" name="name"><br>
密码:<input type="password" name="password"><br>
<input type="button" value="注册">
<input type="reset" value="重置">
</form>
</body>
</html>
登入後複製

接著寫一個servlet的Java程式碼

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class CheckServlet extends HttpServlet{
public static final String DBDRIVER = "oracle.jdbc.OracleDriver";
public static final String DBURL = "jdbc:oracle:thin:@59.173.240.149:1521:heer";
public static final String DBUSER = "hnsyu_dev";
public static final String DBPASS = "hnsyuok";

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 connection = null;
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
PrintWriter out = response.getWriter();
String userid = request.getParameter("userid");
try {
Class.forName(DBDRIVER);
connection = DriverManager.getConnection(DBURL, DBUSER, DBPASS);
String sql = "select count(userid) from userdemo where userid=?";
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1,userid);
resultSet = preparedStatement.executeQuery();
if (resultSet.next()) {
if(resultSet.getInt(1)>0){
out.print("false");
System.out.println("true");
}else {
out.print("false");
}
}
out.close();
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
登入後複製

其中還需要在web.xml中進行設定

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 
xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
 <display-name></display-name> 
 <welcome-file-list>
  <welcome-file>index.jsp</welcome-file>
 </welcome-file-list>
  <servlet>
 <servlet-name>CheckServlet</servlet-name>
 <servlet-class>CheckServlet</servlet-class>
 </servlet>
 <servlet-mapping>
 <servlet-name>CheckServlet</servlet-name>
 <url-pattern>/CheckServlet</url-pattern>
 </servlet-mapping> 
</web-app>
登入後複製

上面是我整理給大家的,希望今後對大家有幫助。

相關文章:

用ajax傳遞json到前台中文出現問號亂碼問題的解決方法

完美解決ajax跨域請求下parsererror的錯誤

ajax提交手機號碼去資料庫驗證並回傳狀態值

以上是AJAX用於判定使用者是否註冊的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板