Heim > Java > javaLernprogramm > Hauptteil

Ajax-Echtzeitüberprüfung, ob Benutzername vorhanden ist

巴扎黑
Freigeben: 2016-12-03 11:53:06
Original
1362 Leute haben es durchsucht

1. JSP-Seite

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ajax验证用户名是否可用</title>
<script type="text/javascript">
var xmlHttp = null;
function checkUserName(){
var userName = document.getElementById("userName").value;
if(window.ActiveXObject){
// 申明XMLHttpRequest对象,针对较低版本的IE(5,6,7)
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 
}else{
// 申明XMLHttpRequest对象,针对较高版本的IE(8+,以及主流浏览器)
xmlHttp = new XMLHttpRequest();
}
// get方式提交,带参数,异步
xmlHttp.open("get","ajax?userName="+userName,true);
// 调用回调函数
xmlHttp.onreadystatechange = callback;
xmlHttp.send();
}
// 回调函数
function callback(){
if(xmlHttp.readyState == 4){
            if(xmlHttp.status == 200){
                // xmlHttp.responseText,获取后台返回信息
                document.getElementById("label").innerHTML = xmlHttp.responseText;
            }else{
                alert("AJAX服务器返回错误!");
            }    
        }
}
function checkForm(){
if(document.getElementById("label").innerHTML != "<font color=\"green\">用户名可用</font>"){
             document.getElementById("userName").focus();
             return false;
         }
return true;
}
</script>
</head>
<body>
<form action="login" method="post" onsubmit="return checkForm()">
用户名:<input type="text" onblur="checkUserName()" id="userName" name="userName">
<label id="label"></label><br>
密码:<input type="password"><br>
<input type="submit">
</form>
</body>
</html>
Nach dem Login kopieren

2. web.xml

Java-Code

<!-- ajax获取信息 -->  
<servlet>  
  <servlet-name>AjaxServlet</servlet-name>  
  <servlet-class>com.servlet.AjaxServlet</servlet-class>  
</servlet>  
<servlet-mapping>  
  <servlet-name>AjaxServlet</servlet-name>  
  <url-pattern>/ajax</url-pattern>  
</servlet-mapping>
Nach dem Login kopieren

3. Servlet

Java-Code

package com.servlet;  
  
import java.io.IOException;  
import java.io.PrintWriter;  
  
import javax.servlet.ServletException;  
import javax.servlet.http.HttpServlet;  
import javax.servlet.http.HttpServletRequest;  
import javax.servlet.http.HttpServletResponse;  
  
public class AjaxServlet extends HttpServlet {  
    private static final long serialVersionUID = 1L;  
    protected void doGet(HttpServletRequest request, HttpServletResponse response)  
            throws ServletException, IOException {  
        this.doPost(request, response);  
    }  
  
    protected void doPost(HttpServletRequest request, HttpServletResponse response)  
            throws ServletException, IOException {  
        request.setCharacterEncoding("UTF-8");  
        response.setContentType("text/html;charset=UTF-8");  
        PrintWriter out = response.getWriter();  
          
        String userName = request.getParameter("userName");  
          
        if(userName.equals("admin")){  
            out.print("<font color=&#39;red&#39;>用户名已经存在</font>");  
        }  
        else if (userName.length() == 0) {  
            out.print("<font color=&#39;red&#39;>用户不能为空</font>");  
        }  
        else if (userName.indexOf(" ") > 0) {  
            out.print("<font color=&#39;red&#39;>用户不能含有空格</font>");  
        }  
        else if (userName.length() > 10 || userName.length() < 4) {  
            out.print("<font color=&#39;red&#39;>用户长度在4-10之间</font>");  
        }  
        else {  
            out.print("<font color=&#39;green&#39;>用户名可用</font>");  
        }  
        out.flush();  
        out.close();  
    }  
}
Nach dem Login kopieren


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage