Maison > Article > développement back-end > AJAX est utilisé pour déterminer si l'utilisateur s'est inscrit au didacticiel
Cet article présente principalement en détail comment AJAX est utilisé pour déterminer si un utilisateur est enregistré. Il a une certaine valeur de référence. J'espère que cela pourra aider tout le monde.
Sur de nombreuses pages d'enregistrement, nous pouvons rencontrer la situation suivante. Lorsque nous enregistrons un nom d'utilisateur, nous pouvons être informés que le nom d'utilisateur a été enregistré. La mise en œuvre consiste à appliquer la technologie AJAX.
Écrivez d'abord une page de connexion
<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>
Ensuite, écrivez un code Java de servlet
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(); } } } }
Vous devez également le configurer dans 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>
L'avez-vous appris ? Si vous pensez que c'est bien, dépêchez-vous de le récupérer.
Recommandations associées :
Exemple de méthode de vérification de la légalité des entrées d'enregistrement JS, partage
Ajax, exemple d'informations d'enregistrement de vérification sans actualisation
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!