• ajax方式提交表单数据并判断当前注册用户是否存在


    项目的目录结构

    源代码:

    regservlet.java

    package register;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    /**
     * Servlet implementation class regservlet
     */
    @WebServlet("/regservlet")
    public class regservlet extends HttpServlet {
        private static final long serialVersionUID = 1L;
    
        /**
         * @see HttpServlet#HttpServlet()
         */
        public regservlet() {
            super();
            // TODO Auto-generated constructor stub
        }
    
        /**
         * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
         *      response)
         */
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            request.setCharacterEncoding("utf-8");
            response.setContentType("text/html;charset=utf-8");
            PrintWriter out = response.getWriter();
    
            // 获取用户名
            String name = request.getParameter("username");
    
            // 模拟数据库
            if ("张运涛".equals(name)) {
                // out.println("用户名已存在");
                out.println("<font color=red>用户名已存在</font>");
            } else if (name.equals("")) {
                out.println("<font color=red>用户名不能为空</font>");
            } else {
                // out.println("用户名可以使用");
                out.println("<font color=blue>用户名可以使用</font>");
            }
    
            out.flush();
            out.close();
    
        }
    
        /**
         * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
         *      response)
         */
        protected void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            // TODO Auto-generated method stub
            doGet(request, response);
        }
    
    }

    register.js

    window.onload = function() {
        document.getElementById("username").onblur = function() {
    
            // 获取<input type="text" name="username" value="" id="username">
            var username = document.getElementById("username").value;
    
            // 1
            var xmlHttp = ajaxFunction();
    
            // 2
            xmlHttp.onreadystatechange = function() {
                if (xmlHttp.readyState == 4) {
                    if (xmlHttp.status == 200 || xmlHttp.status == 304) {
                        var data = xmlHttp.responseText;
                        document.getElementById("divcheck").innerHTML = data;
                    }
                }
    
            }
    
            // 3
            xmlHttp.open("post", "../regservlet?timeStamp=" + new Date().getTime(),
                    true);
            xmlHttp.setRequestHeader("Content-Type",
                    "application/x-www-form-urlencoded");
    
            // 4
            xmlHttp.send("username=" + username);
        }
    }
    
    function ajaxFunction() {
        var xmlHttp;
        try { // Firefox, Opera 8.0+, Safari
            xmlHttp = new XMLHttpRequest();
        } catch (e) {
            try {// Internet Explorer
                xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {
                }
            }
        }
        return xmlHttp;
    }

    register.jsp

    <%@ page language="java" pageEncoding="utf-8"%>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>校验用户名是否存在</title>
    <script type="text/javascript" src="./register.js">
        
    </script>
    </head>
    <body>
        <center>
            <form action="" enctype="application/x-www-form-urlencoded">
                <h3>请填写用户注册信息</h3>
                <table border="1">
                    <tr>
                        <td>用户名:</td>
                        <td><input type="text" name="username" value="" id="username">
                            <!--  用户名已存在显示在div 中 -->
                            <div id="divcheck"></div>
                    </tr>
                    <tr>
                        <td>密码:</td>
                        <td><input type="password" name="psw" value=""></td>
                    </tr>
    
                </table>
    
            </form>
        </center>
    </body>
    
    </html>

    运行截图:

    完整源代码https://pan.baidu.com/s/1PSjQuU96emWL1UYYMKwlaA

  • 相关阅读:
    js调试技巧
    Java编程技巧——构建器
    java设计模式:工厂方法模式(Factory Method)
    23种设计模式导航
    java设计模式:单例模式(Singleton Pattern)
    迭代器与生成器
    装饰器
    文件操作的说明与使用
    函数命名、调用小技巧
    各类型数据的操作方法
  • 原文地址:https://www.cnblogs.com/zyt-bg/p/9903281.html
Copyright © 2020-2023  润新知