ajax校验注册用户名是否可用

标签: ajax校验注册用户名  ajax  java

ajax校验注册用户名是否可用

步骤

  1. 搭建数据库user信息
  2. 准备javaweb项目
  3. 此案例获取数据库数据使用通用Mapper
  4. 编写dao service servlet register.jsp
  5. jar包配置文件云盘提取
  6. https://pan.baidu.com/s/1urhAO_1t7FTZhkNcnghfiw
  7. 提取码: 54tk
  8. 注意 所有提供的配置文件必须在src包目录下

user实体类

@Table(name = "user")
public class User {
    @Id
    private Integer id;
    private String username;
    private String password;
    //请自己添加构造方法 get/set方法 toString方法
 }   

dao层

public interface UserMapper extends Mapper<User> {
//此处使用通用mapper
}

service层

  public User findUserByName(String username){
        //通用mapper工具类通过反射机制获取userMapper多态
        UserMapper mapper = MyBatisUtils.getMapper(UserMapper.class);
        //为了方便查找用户是否存在 我们使用selectOne方法 通过username查找user对象
        User user=new User();
        user.setUsername(username);
        User findUserByName = mapper.selectOne(user);
        //关闭资源
        MyBatisUtils.close();
        return findUserByName;
    }

servlet层

@WebServlet(urlPatterns = "/UserServlet")
public class UserServlet extends BaseServlet {
public void findUserByName() throws IOException {
        //获取ajax传进来的username 
        String username = getRequest().getParameter("username");
        //调用service层方法
        User userByName = new UserService().findUserByName(username);
        //如果等于null 返回false就相当于注册用户名已经存在 否则显示注册成功 返回true
        if (userByName!=null){
            getResponse().getWriter().write(""+false);
        }else {
            getResponse().getWriter().write(""+true);
        }
    }
}

register.jsp

<script>
		//等待页面加载完毕
		$(function () {
			//获取用户名书如果 添加焦点移除事件
			$("#username").blur(function () {
				//获取输入框中的内容
				let  username=$("#username").val();
				//访问servlet地址
				let url="${pageContext.request.contextPath}/UserServlet";
				//method是servlet访问的方法 username是传到方法中的文本内容
				let date={method:'findUserByName',username:username};
				let callback=function (date) {
					//如果用户名不存在 按钮为可提交状态 如果存在按钮为不可提交状态
					if (date){
						$("#msg").html("<span class=\"label label-success\">用户名可用</span>");
						$("#sub").attr("disabled",false).css("background","red");
					}else {
						$("#msg").html("<span class=\"label label-danger\">用户名不可用</span>");
						$("#sub").attr("disabled",true).css("background","grey");
					}
				};
				$.post(url,date,callback,"json");
			});
		})
	</script>
演示效果

在这里插入图片描述
在这里插入图片描述

版权声明:本文为java18343246781原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/java18343246781/article/details/106860183

智能推荐

zabbix远程命令执行

zabbix可以通过远程发送执行命令或脚本来对部分的服务求故障进行修复 zabbix客户端配置 设置zabbix客户端用户的sudo权限 在客户端的配置文件zabbix_agentd.conf中添加下面语句,开启对远程命令的支持,添加完成后重启下服务 输入下面命令手动检测,有内容则表示远程命令可用,否则提示remote commands are not enable 在119服目录/data下添加...

机器学习中K-means聚类算法的原理及实现(Python)

背景知识 K-means聚类算法是一种流行于数据挖掘领域的无监督学习算法。K-means聚类算法的目的是:把已知的 n个点划分到k个聚类中,使得每个点都属于离它最近的点(聚类中心)对应的聚类。 在完成该算法的过程中,找到k个聚类中心是关键。 算法介绍 我们先介绍几个基本概念: 簇:数据点的集合,每一个簇中的对象是相似的。 质心:簇中所有点的中心(由计算所有点坐标的均值可得)。 比如在这幅图中,我们...

接口回调基础理解

接口回调听起来好像很厉害的样子,但其实只要能够搞清楚代码的执行过程,多看几遍,并且认真思考,再加上勤奋的练习,熟练掌握简单的接口回调并不是难题,接下来,我会用一个简单的例子,来带大家一起分析代码的执行过程,以及这样写的好处,以及这样写的思路。 我们知道recyclerView是没有自带点击事件的,所以这里我们就拿给recyclerView添加点击事件为例。 ok 我们做好了一个简单的recycer...

Mac下的myeclipse安装

1.首先要安装jdk跟jre 2.安装过程中可能会遇到您需要安装旧 Java SE 6 运行环境才能打开此 Java 应用程序的提示     解决办法就是安装ava for os x 2015-001.,这里不要点系统给你提示的界面,根本没法下载 我上传的链接,可以直接下载:链接: https://pan.baidu.com/s/1qYbT6os 密码: x...

30分钟实战树莓派连接到微软云Azure IoT Hub并将数据可视化

更多内容,关注公众号: 树莓派是很多动手达人必备的小玩具,本节内容,让我们拿出树莓派,在30分钟内,将树莓派连接到微软云Azure的IoT Hub,然后将温湿度曲线可视化。 本实战完整视频: 树莓派连接到Azure IoT Hub 并用时序见解展示数据 本节内容中,树莓派发送的数据是模拟出来的,并没有真实的连接到传感器,您可以选购不同的传感器来采集真实的环境信息。 Azure IoT Hub 为我...

猜你喜欢

spring cloud gateway 整合ribbon、nacos discovery实现负载均衡源码简析

1 spring cloud gateway 负载均衡入口 spring cloud gateway 使用 LoadBalancerClientFilter 来实现载均衡的功能,该过滤器通过LoadBalancerClient.choose(ServerWebExchange exchange)方法来获取目标实例。 LoadBalancerClient 为spring-cloud-commons包...

VUE快速搭建项目

作为一个前端小辣鸡 今天在网上找到了 一个 快速 无脑式搭建vue项目的方式 分享一下 我们采用图形界面创建项目。通过 vue ui 命令启动 vue cli service 后,访问 http://localhost:8000/project/create 可以直接进入项目创建流程。 步骤中有些地方值得一提 详情:包管理器指定 npm,后续在npm 配置文件(.npmrc)中可手动指定国内镜像源...

2017-8-10 Struts2学习笔记二

一、web.xml文件的编写 1. 由于struts2是用过滤器拦截请求的,所以需要在web.xml文件中配置一个过滤器。 2. 这个过滤器的名字叫StrutsPrepareAndExecuteFilter,中文名曰struts准备和执行过滤器,就是这个过滤器拦截我们在地址栏的请求。 3. 查找这个过滤器,将它的全路径写在filter-class标签中,eclipse可以使用Shift+Ctrl+...

Windows Terminal配置Git

文章目录 Windows Terminal配置Git 效果 下载和安装 配置Windows Terminal 配置其它命令行 Windows Terminal配置Git 效果 先上效果图: 下载和安装 Windows Terminal是微软开发的面向命令行用户的全新,现代,功能丰富,高效的终端应用程序。 它包括Windows命令行社区最常请求的许多功能,包括对选项卡,富文本,全球化,可配置性,主题...

CW MCU v11.1学习笔记1

说明:通过处理器专家创建芯片为MC9S08DZ60的工程,按键控制LED 一、CW11.1软件界面布局 1、双击桌面图标,打开软件,设置工作空间 软件主界面 调试界面 处理器专家界面 有时经常调整(删除)面板布局,如果想恢复布局,可在Window工具栏下的Reset Perspective选项来复位面板布局 二、新建工程 1、在C/C++模式下,在Commander面板下点击New MCU pro...