• 2.ajax+servlet实现注册时用户名验证


    效果:

    精灵图(来源:从百度注册中download下来的):

    userVerify.jsp

    <%@ 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>Insert title here</title>
    <style type="text/css">
        *{
            margin:0;
            padding:0;
        }
        input{
            height:24px;
        }
        span{
            display:none;
            float: right;
            position: relative;
            width: 250px;
            top: 5px;
            left: 5px;
            height: 16px;
            line-height: 14px;
            padding-left: 20px;
            background:url(img/reg_icons.png) -80px 0 no-repeat;
        }
    </style>
    
    </head>
    <body>
    <table>
        <tr>
            <td>用户名:</td>
            <td><input type="text" name="uname" id="uname" onblur="checkUserName()"><span id="tip"></span></td>
        </tr>
        <tr>
            <td colspan="2"><input type="button" value="注册"></td>
        </tr>
    </table>    
    <script type="text/javascript">
        function checkUserName(){
            var uname = document.getElementById("uname").value;
            var xmlHttp;
            if(window.XMLHttpRequest){
                xmlHttp = new XMLHttpRequest();
            }else{
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlHttp.onreadystatechange = function(){
                //判断返回状态
                if(xmlHttp.readyState == 4 && xmlHttp.status == 200){
                    document.getElementById("tip").style.display = "block";
                    var dataObj = eval("("+xmlHttp.responseText+")");
                    if(dataObj.exist == "success"){
                        document.getElementById("tip").innerText = "该用户可用!";
                        document.getElementById("tip").style.color = "#5BC92E";
                        document.getElementById("tip").style.backgroundPosition = "-80px 0";
                    }else if(dataObj.exist == "error"){
                        document.getElementById("tip").innerText = "请输入用户名!";
                        document.getElementById("tip").style.color = "#fc4343";
                        document.getElementById("tip").style.backgroundPosition = "-80px -24px";
                    }else{
                        document.getElementById("tip").innerText = "该用户已存在!";
                        document.getElementById("tip").style.color = "#fc4343";
                        document.getElementById("tip").style.backgroundPosition = "-80px -24px";
                        
                    }
                    
                }
                
            }
            
            xmlHttp.open("get","checkUserName?action=checkUserName&uname="+uname,true);
            xmlHttp.send();
        }
    </script>
    </body>
    </html>

    CheckUserNameAjaxServlet.java

    package com.xxc.ajax;
    
    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;
    
    import net.sf.json.JSONObject;
    
    
    public class CheckUserNameAjaxServlet extends HttpServlet{
    
        /**
         * 
         */
        private static final long serialVersionUID = 1L;
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            this.doPost(req, resp);
        }
        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            resp.setContentType("text/html;charset=utf-8");
            String action = req.getParameter("action");
            if("checkUserName".equals(action)) {
                this.checkUserName(req, resp);
            }
        }
        
        public void checkUserName(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            
            PrintWriter out = resp.getWriter();
            String uname = req.getParameter("uname");
            JSONObject resultJson = new JSONObject();//注意:使用此对象需要导入包,下面会介绍
            if(uname.trim()==null || "".equals(uname.trim())){
                resultJson.put("exist", "error");//用户名为空
            }else if("xxc".equals(uname)) {
                resultJson.put("exist", true);//用户名已存在
            }else {
                resultJson.put("exist", "success");//用户名不存在
            }
            out.println(resultJson);
            out.flush();
            out.close();
        }
    
    }

    web.xml

    <servlet>
          <servlet-name>CheckUserNameAjaxServlet</servlet-name>
          <servlet-class>com.xxc.ajax.CheckUserNameAjaxServlet</servlet-class>
      </servlet>
      <servlet-mapping>
          <servlet-name>CheckUserNameAjaxServlet</servlet-name>
          <url-pattern>/checkUserName</url-pattern>
      </servlet-mapping>

    实现ajax 的所需的json包(版本不一定是我所列的):

  • 相关阅读:
    软工实践寒假作业(2/2)
    软工实践寒假作业(1/2)
    个人技术总结——关于springboot的定时任务框架quartz
    个人作业——软件工程实践总结&个人技术博客
    个人作业——软件评测
    结对第二次作业——某次疫情统计可视化的实现
    结对第一次 — 疫情统计可视化(原型设计)
    软工实践寒假作业(2/2)
    软工实践寒假作业(1/2)
    个人作业——软件工程实践总结&个人技术博客
  • 原文地址:https://www.cnblogs.com/alex-xxc/p/10011941.html
Copyright © 2020-2023  润新知