Преглед изворни кода

验证用户不存在有Bug

sanaaaa пре 1 година
родитељ
комит
6a3382c68b

+ 2 - 2
.idea/misc.xml

@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
   <component name="ExternalStorageConfigurationManager" enabled="true" />
   <component name="MavenProjectsManager">
@@ -6,9 +7,8 @@
         <option value="$PROJECT_DIR$/pom.xml" />
       </list>
     </option>
-    <option name="workspaceImportForciblyTurnedOn" value="true" />
   </component>
-  <component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="17 (3)" project-jdk-type="JavaSDK">
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="17 (3)" project-jdk-type="JavaSDK">
     <output url="file://$PROJECT_DIR$/out" />
   </component>
 </project>

+ 8 - 0
src/main/java/com/bing/controller/RegisterServlet.java

@@ -1,6 +1,7 @@
 package com.bing.controller;
 
 import java.io.IOException;
+import java.io.PrintWriter;
 
 import javax.servlet.ServletException;
 import javax.servlet.annotation.WebServlet;
@@ -29,6 +30,7 @@ public class RegisterServlet extends HttpServlet {
 
     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
         request.setCharacterEncoding("UTF-8");
+        response.setContentType("text/html;charset=utf-8");
         String email = request.getParameter("email");
         String pwd = request.getParameter("pwd");
         String userRePwd = request.getParameter("userRePwd");
@@ -41,5 +43,11 @@ public class RegisterServlet extends HttpServlet {
         } else {
             request.getRequestDispatcher("user-register.jsp").forward(request, response);
         }
+        if (email.equals(email)) {
+            PrintWriter out = response.getWriter();
+            out.write("此账号已经存在");
+            out.flush();
+            out.close();
+        }
     }
 }

+ 2 - 0
src/main/java/com/bing/dao/UserDao.java

@@ -5,4 +5,6 @@ import com.bing.bean.User;
 public interface UserDao {
     int insert(String email,String pwd);
      User selectByName(String email);
+
+
 }

+ 44 - 5
src/main/webapp/user-register.jsp

@@ -283,6 +283,46 @@
             }
         }
     </style>
+    <script type="text/javascript">
+        /* 获取引擎对象(兼容IE6之前的游览器) */
+        function getXhr() {
+            var xhr;
+            try {
+                xhr = new XMLHttpRequest();
+            } catch (e) {
+                xhr = new ActiveObject("Microsoft.XMLHTTP");
+            }
+            return xhr;
+        }
+
+        /* 检查账号是否被注册 */
+        function checkName() {
+            var email = document.getElementById("email");
+            var value = email.value;
+            var emailtip = document.getElementById("emailtip");
+            //创建异步引擎对象
+            var xhr = getXhr();
+
+            //步骤一:打开引擎,method用于设置请求的方式:get或者post
+            /* url设置请求的路径,async设置是同步操作还是异步操作,默认是ture(异步) */
+            xhr.open("post", "RegisterServlet");
+            /* post方式提交需要设置请求头 */
+            xhr.setRequestHeader("Content-Type",
+                "application/x-www-form-urlencoded");
+            /* 步骤二:发送 */
+            xhr.send("email=" + value);
+            /* 步骤三:检测引擎的状态改变 */
+            xhr.onreadystatechange = function() {
+                /* 判断响应是否已经接收完成和判断是否正常响应 */
+                if (xhr.readyState == 4 && xhr.status == 200) {
+                    /* 接收响应的字符串信息 */
+                    emailtip.innerText = xhr.responseText;
+                }
+
+            }
+        }
+    </script>
+
 </head>
 
 <body>
@@ -294,9 +334,9 @@
 
             </div>
             <span class="form_span">It’s quick and easy. </span>
-            <input type="text" class="form_input" placeholder="Email" name="email" id="email">
-            <input type="text" class="form_input" placeholder="Password" name="pwd" id="pwd">
-            <input type="text" class="form_input" placeholder="RePassword" name="userRePwd" id="userRePwd">
+            <input type="text" class="form_input" placeholder="Email" name="email" id="email" onblur="checkName()"><span id="emailtip"></span>
+            <input type="password" class="form_input" placeholder="Password" name="pwd" id="pwd">
+            <input type="password" class="form_input" placeholder="RePassword" name="userRePwd" id="userRePwd">
             <br/>
             <button class="form_button button submit">SIGN UP</button>
         </form>
@@ -316,7 +356,6 @@
 </div>
 </body>
 
-</html>
-</body>
 
 </html>
+