(AJAX/JSON)技术实现校验用户名是否存在

2023-11-02

案例:

       * 校验用户名是否存在

              1. 服务器响应的数据,在客户端使用时,要想当做json数据格式使用。有两种解决方案:

                     1. $.get(type):将最后一个参数type指定为"json" 

                     2. 在服务器端设置MIME类型

                            response.setContentType("application/json;charset=utf-8");

代码实现如下:

首先在web-----regist.html下写代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>注册页面</title>
    <script src="js/jquery-3.3.1.min.js"></script>
    <script>
        //在页面加载完成后
        $(function () {
           //给username绑定blur事件
           $("#username").blur(function () {
               //获取username文本输入框的值
               var username = $(this).val();
               //发送ajax请求
               //期望服务器响应回的数据格式:{"userExsit":true,"msg":"此用户名太受欢迎,请更换一个"}
               //                         {"userExsit":false,"msg":"用户名可用"}
               $.get("findUserServlet",{username:username},function (data) {
                   //判断userExsit键的值是否是true
                   // alert(data);
                   var span = $("#s_username");
                   if(data.userExsit){
                       //用户名存在
                       span.css("color","red");
                       span.html(data.msg);
                   }else{
                       //用户名不存在
                       span.css("color","green");
                       span.html(data.msg);
                   }
               });
           });
        });
    </script>
</head>
<body>
    <form>
        <input type="text" id="username" name="username" placeholder="请输入用户名">
        <span id="s_username"></span>
        <br>
        <input type="password" name="password" placeholder="请输入密码"><br>
        <input type="submit" value="注册"><br>
    </form>
</body>
</html>

现在写后端的代码:

package cn.itcast.web.servlet;
import com.fasterxml.jackson.databind.ObjectMapper;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
@WebServlet("/findUserServlet")
public class FindUserServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //1.获取用户名
        String username = request.getParameter("username");
        //2.调用service层判断用户名是否存在
        //期望服务器响应回的数据格式:{"userExsit":true,"msg":"此用户名太受欢迎,请更换一个"}
        //                         {"userExsit":false,"msg":"用户名可用"}
        //设置响应的数据格式为json
        response.setContentType("application/json;charset=utf-8");
        Map<String,Object> map = new HashMap<String,Object>();
        if("tom".equals(username)){
            //存在
            map.put("userExsit",true);
            map.put("msg","此用户名太受欢迎,请更换一个");
        }else{
            //不存在
            map.put("userExsit",false);
            map.put("msg","用户名可用");
        }
        //将map转为json,并且传递给客户端
//将map转为json
        ObjectMapper mapper = new ObjectMapper();
//并且传递给客户端
        mapper.writeValue(response.getWriter(),map);
    }
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doPost(request, response);
    }
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

(AJAX/JSON)技术实现校验用户名是否存在 的相关文章

随机推荐

  • Stem教育究竟是什么性质

    STEM教育是中性的 是既可以为应试教育又可以为素质教育服务的工具和武器 用素质教育去引爆STEM教育 才能产生良性的的核裂变 格物斯坦小坦克来研究下stem教育究竟是什么性质 科学教育有一个不大不小的误区 以为 科学 教育就是教科学知识
  • 错误:reference to non-static member function must be called

    问题 今天刷牛客这道题的时候 题目描述 输入一个正整数数组 把数组里所有数字拼接起来排成一个数 打印能拼接出的所有数字中最小的一个 例如输入数组 3 32 321 则打印出这三个数字能排成的最小数字为321323 这是我的代码 class
  • rtx服务器修改登录端口,rtx服务器端口设置

    rtx服务器端口设置 内容精选 换一换 用户在MRS Manager界面配置监控指标转储后 转储失败时产生该告警 转储成功后 告警恢复 监控指标转储失败会影响上层管理系统无法获取到MRS Manager系统的监控指标 无法连接服务器 无法访
  • Python Utils

    在Python开发中 将常用功能封装成为接口 并放入Utils工具类中 直接调用 可以提升效率 常用的函数有 文件夹遍历 文件夹创建 文件读取 时间可读 时间统计 安全除法 双列表排序 配置读取 脚本路径 Numpy判空 文件夹遍历 遍历文
  • logistic_regression---python实现

    logistic regression 用python实现 一 理论知识 logistic 回归 虽然名字里有 回归 二字 但实际上是解决分类问题的一类线性模型 在某些文献中 logistic 回归又被称作 logit 回归 maximum
  • C语言——ASCII 码表及分类

    目录 一 分类 1 0 31 127 删除键 是控制字符 2 空白字符 3 可显示字符 二 ASCII 表 ASCII 定义了 128 个字符 一 分类 1 0 31 127 删除键 是控制字符 2 空白字符 空格 32 制表符 垂直制表符
  • javascript字符串操作常用方法

    一 操作方法 我们也可将字符串常用的操作方法归纳为增 删 改 查 增 增的意思并不是直接增添内容 而是创建字符串的一个副本 再进行操作 除了常用 以及 进行字符串拼接之外 还可通过concat concat 用于将一个或多个字符串拼接成一个
  • 关于centos7桥接模式上不了网的配置

    我在vmware里装了一下CentOS7 然后选桥接模式竟然连不上网了 我以前装完系统之后直接设置一下模式为桥接模式就可以上外网了 究竟是怎么回事 我查了一下资料之后才发现有个地方忘记配置了 那就是编辑里面的虚拟网络编辑器 接下来我们就重开
  • Python实现异方差检验(statsmodels)

    什么是异方差 摘自知乎https www zhihu com question 354637231 一句话 就是当随机扰动项和模型中的解释变量 自变量 存在某种相关性 就会出现异方差 即对于不同的样本点 随机误差项的方差不再是常数 而互不相
  • RequiredFieldValidator控件验证不能为空时报错多种解决方法以及问题分析

    最近在学asp net 在使用RequiredFieldValidator控件进行验证时 发现报错 界面控件如下图 点击完确定之后按理来说是要报不能为空的提示的但是却报错如下图 经过一番研究发现 也看了其他人的解决方案 总结如下 net 4
  • pytest自动化测试两种执行环境切换的解决方案

    一 痛点分析 在实际企业的项目中 自动化测试的代码往往需要在不同的环境中进行切换 比如多套测试环境 预上线环境 UAT环境 线上环境等等 并且在DevOps理念中 往往自动化都会与Jenkins进行CI CD 不论是定时执行策略还是迭代测试
  • 为什么要同时重写equals方法和hashCode方法(详解)

    在解释为什么要重写equals方法和hashcode方法时 我们要先了解一下这样重写的目的是什么 也让自己有一个思路 围绕这个思路去思考问题 能更好的整握其中的缘由 针对这个目的去思考为什么要去重写 重写的作用是什么 以及如何去重写它们 一
  • MySql SQL语句优化方法

    1 插入优化 当数据过大时 通过load函数上传 2 主键优化 页分裂 当数据乱序插入时 由于主键是按序排的 所以再插入时 当发现页的空间不够时 会通过重新开辟一个页 将原页中的数据拷贝进新的页中 并重新设定链表指针方向 页融合 当删除页内
  • Arduino Uno 实验7——SG90舵机

    SG90舵机简介 舵机是一种位置 角度 伺服的驱动器 适用于那些需要角度不断变化并可以保持的控制系统 主要是由外壳 电路板 驱动马达 直流电机 减速齿轮组 位置检测元件 控制电路 所构成 是一套自动 闭环 控制装置 所谓自动 闭环 控制就是
  • Spring包结构以及各个包之间引用关系说明

    Spring 包结构说明 spring jar 包含有完整发布的单个jar包 他包含有除spring mock jar之外的所有jar 原因是 spring mock jar只有在开发环境中才会用到 而且仅仅是作为一个辅助测试类存在 除了s
  • 解析#pragma指令

    在所有的预处理指令中 Pragma 指令可能是最复杂的了 它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作 pragma指令对每个编译器给出了一个方法 在保持与C和C 语言完全兼容的情况下 给出主机或操作系统专有的特征 依据定义
  • Eclipse安装STS(Spring Tool Suite (STS) for Eclipse)插件

    由于最近在学习SpringBooot 用Eclipse创建SpringBoot项目比较不爽 听说STS插件能直接创建SpringBoot项目 就动手安装一下 希望能对像我一样的小白有所帮助 STS 官网 https spring io to
  • 【毕业设计】基于stm32的便携式U盘设计与实现 - stm32制作U盘

    文章目录 0 前言 1 简介 2 主要器件 3 实现过程 4 部分核心代码 5 最后 0 前言 这两年开始毕业设计和毕业答辩的要求和难度不断提升 传统的毕设题目缺少创新和亮点 往往达不到毕业答辩的要求 这两年不断有学弟学妹告诉学长自己做的项
  • 如何解决网站被黑客攻击-深夜一次网站被攻击瘫痪

    情况 客户网站深夜被黑客攻击 服务器对外发出大量攻击行为流量 运维人员已经不可登录服务器进行安全操作 1首先看能不能后台登录经网站管理界面 如果可以的话那就去查看相关日志 确定黑客攻击的范围 一定要尽可能的得到所有的日志 数据库的 Web服
  • (AJAX/JSON)技术实现校验用户名是否存在

    案例 校验用户名是否存在 1 服务器响应的数据 在客户端使用时 要想当做json数据格式使用 有两种解决方案 1 get type 将最后一个参数type指定为 json 2 在服务器端设置MIME类型 response setConten