JavaWeb---验证用户名存在

要求:注册页面中 仅验证 不注册

前台代码——创建 注册页面jsp:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <title>Title</title>
    <script src="webjars/jquery/3.3.1-2/jquery.min.js"></script>
    <script>


        /**
         * 用户名验证: 前2在前台script验证,后1用ajax
         *      不为空
         *     长度5-10
         *     没被占用*/
        function isusername() {

            var username= $("#username").val();

            //判断空否
            if(username==null||username==""){
                //出现提示
                $("#username2").text("用户名不可为空").css("color","red");
                return;//弹出验证方法
            }

            //判断长度
            if(username.length<5||username.length>10){
                //出现提示
                $("#username2").text("不合法,长度要在5-10之间").css("color","blue");
                return;
            }

            //用ajax传用户名 给servlet查询
            $.ajax({
                type:"post",//也可是get
                url:"registServ",//跳转的servlet
                data:{"username":username},//传递的数据 键值对,不可略就算没得传也要写data:{}
                dataType:JSON,//设后台传来的答案格式 为json,不为则进入error
                success:function (jsonhm) {//后台返回的 答案
                    if(jsonhm.info!=null){
                        $("#username2").text(jsonhm.info).css("color","pink");
                    }
                },

                error:function () {
                    $("#username2").text("后台返回给ajax时发生错误");
                }
            });

     }


    </script>
</head>
<body>

<form>
    用户名<input type="text" id="username" onblur="isuse在这里插入代码片rname()"/> <span id="username2"></span><br/>
    密码<input type="text" id="pwd"/><span id="pwd2"></span><br/>
    重复密码<input type="text" id="repwd"/> <span id="repwd2"></span><br/>

    <input type="submit" value="提交"/>
</form>

</body>
</html>

后台代码——创建servlet:

@WebServlet("registServ")
public class RegistServ extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        String username = req.getParameter("username");//取出ajax发来的用户名

        //创建表格对应的实体类,调用service的查询方法 service调dao层  此处都省略
        //用键值对集合 模拟  存入前台ajax要的答案
        HashMap<String,String> hm=new HashMap<>();
        String info=null;
        if(username.equals("nancy")){
            info="用户名已被占用";
            hm.put("info",info);
        }

        resp.getWriter().print(JSON.toJSON(hm));//转为前台ajax要的json格式
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doPost(req, resp);
    }
}

(由于pom.xml中导入maven依赖有问题,没有测试)
小结:
1.首先,你需要写个jsp网页,能展示出注册的页面就算是完成第一步了。

2.然后,把在前台可以验证的在js中验证了,在后台验证的你需要将你写的网页数据提交到服务器,并且完成跳转和提示信息等操作,jquery提供了ajax函数,你可以利用它来实现与服务器的异步通信。代码如上。

3.其次,你在写好ajax之后,需要在后台写个处理函数,将网页传过来的数据处理,然后返回它需要的信息。


版权声明:本文为weixin_45881192原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。