Heim  >  Artikel  >  Web-Frontend  >  AJAX interagiert mit der Datenbank, um festzustellen, ob der Benutzer registriert ist

AJAX interagiert mit der Datenbank, um festzustellen, ob der Benutzer registriert ist

php中世界最好的语言
php中世界最好的语言Original
2018-04-02 16:35:301305Durchsuche

Dieses Mal bringe ich Ihnen die Interaktion zwischen AJAX und der Datenbank, um festzustellen, ob der Benutzer registriert ist Das Folgende ist ein praktischer Fall, werfen wir einen Blick darauf. Auf vielen Registrierungsseiten kann es zu der folgenden Situation kommen: Wenn wir einen Benutzernamen registrieren, werden wir möglicherweise aufgefordert, den Benutzernamen zu registrieren. Die Implementierung besteht darin, die AJAX-Technologie anzuwenden.

Schreiben Sie zuerst eine Anmeldeseite

Dann schreiben Sie einen Servlet-Java-Code
<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>

der auch in web.xml konfiguriert werden muss
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();
}
}
}
}

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!
<?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>

Empfohlene Lektüre:

Warum verstümmelte Zeichen erscheinen, wenn Ajax JSON übergibt


Behandlung von Ajax-Cross-Domain-Request-Parser-Fehlern

Das obige ist der detaillierte Inhalt vonAJAX interagiert mit der Datenbank, um festzustellen, ob der Benutzer registriert ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn