jQuery+Ajax+Mysql 检测用户名注册时是否重名

PHP+MySQL+Bootstrap 美食主题博客项目 一:技术栈介绍 主题:美食博客 前端:html,js,css, bootstrap,jq 后端:php mvc 数据库:mysql 本项目美食部分接口调用地址:美食接口文档 本项目实时更新github 地址:github地址 二:实现功能总结 登录,注册,退出登录,验证码。 API接口调用:菜谱推荐,菜谱分类,菜谱分类详情,菜谱详情。 个人信息展示:头像,座右铭修改。 个人动态发布展示。 动态... 阅读详情

利用jQuery框架,封装了底层的Ajax异步技术,通过简单的方法调用即可实现。这篇博客是针对用户注册时出现的用户名重名问题的自动检测,利用的技术是Ajax异步传输。

register.jsp 注册显示页面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>

<body>
    <form action="login" method="post" id="myform">
        <table align="center">
            <tr>
                <td>用户名:</td>
                <td>
                    <input type="text" name="name" id="username" title="用户名" />
                    <div id="message"></div>
                </td>
            </tr>
            <tr>
                <td>密码:</td>
                <td><input type="password" name="pwd" id="userpwd" title="密码" />
                </td>
            </tr>
            <tr>
                <td>性别:</td>
                <td><input type="radio" name="sex" value="男" title="性别" />男 <input
                    type="radio" name="sex" value="女" title="性别" />女</td>
            </tr>
            <tr>
                <td>年龄:</td>
                <td><input type="text" name="age" title="年龄" />
                </td>
            </tr>
            <tr>
                <td>Email:</td>
                <td><input type="text" name="email" title="Email" />
                </td>
            </tr>
            <tr>
                <td colspan="2" align="center"><input type="button" value="注 册"
                    onclick="check()" /> <input type="reset" value="重 置" /></td>
            </tr>
        </table>
    </form>
</body>
<script type="text/javascript" src="${pageContext.request.contextPath }/script/jquery-3.2.1.js"></script>

<script type="text/javascript">
    // 检查表单元素的值是否为空
    function check() {
        var myform = document.getElementById("myform");
        for ( var i = 0; i < myform.length; i++) {
            if (myform.elements[i].value == "") {
                alert(myform.elements[i].title + "不能为空");
                myform.elements[i].focus();
                return;
            }
        }
        myform.submit(); // 表单中最后input提交标签用的是button类型,首先不提交表单,在js判断表单项都不为空时 再提交表单。
    }

    $(function(){
        $(":input[name='name']").blur(function(){
            var val = $(this).val();
            val = $.trim(val);

            if(val != ""){
                var url = "${pageContext.request.contextPath }/UserServlet";   // 将前端的业务转到后端Servlet来处理。最后Servlet再将结果返回给前端JSP页面
                var args = {"userName":val, "time":new Date()};

                $.post(url, args, function(data){  // URL中处理的结果都保存在data数据中,而data中的格式是Servlet中返回的结果格式,即为html
                    $("#message").html(data);      //将data结果附加到div中
                });
            }
        });
    });
</script>
</html>

UserServlet 逻辑处理Servlet类,用于对用户重名的判断以及响应处理结果的输出等。其中用于数据库检测重名的方法省略了(LoginDao.getInstance().checkUserName(userName.trim()); // 查找数据库是否存在该用户名)


package com.servlet.user;

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 com.dao.LoginDao;
import com.user.UserInfo;

public class UserServlet extends HttpServlet {

    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        response.setContentType("text/html; charset=UTF-8"); // 设置响应结果的格式为text/html,字符集为UTF-8
        response.setCharacterEncoding("UTF-8"); // 设置响应结果的字符编码为UTF-8
        // 禁止缓存
        response.setHeader("Cache-Control", "no-store,no-cache,must-revalidate");
        response.setHeader("Cache-Control", "post-check=0,pre-check=0");
        response.setDateHeader("Expires", 0);
        response.setHeader("Pragma", "no-cache");

        PrintWriter out = response.getWriter();
        out.println("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
        // 从httpRequest()方法中获得请求参数值
        // 通过httpRequest()方法封装的请求参数被编码为UTF-8格式,此处若想还原原来的编码格式,则需要通过UTF-8格式解码

        String userName = request.getParameter("userName");
        String result = null;
        boolean check = LoginDao.getInstance().checkUserName(userName.trim()); // 查找数据库是否存在该用户名
        if (check) {
            result = "<font color='red'>该用户已经被使用</font>";
        } else {
            result = "<font color='green'>该用户名可以使用</font>";
        }
        response.getWriter().print(result); // 将结果输出到response响应流中
    }

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

}
JavaWeb实战学习地图:从Servlet到MVC架构与数据库连接池详解 JavaWeb开发是构建企业级Web应用的核心技术栈,其基础建立在Servlet规范之上,通过处理HTTP请求与响应实现动态内容交互。理解Servlet的生命周期、线程安全模型及请求转发与重定向的原理,是掌握Web开发的关键。这一技术价值在于能够构建稳定、可扩展的后端服务,广泛应用于电商、金融、社交等各类互联网平台。在实际开发中,采用MVC设计模式进行职责分离,并结合数据库连接池技术优化性能,是提升工程实践能力的必经之路。本文基于JavaWeb学习笔记,深入解析Servlet核心机制、MVC分层架构的实现, 阅读详情

相关推荐

ajax+jquery+php实现基本的异步传输(判断用户名是否可用)

ajax+jquery+php实现基本的异步传输(判断用户名是否可用) 外加一延时友好界面:Loading.... 简单判断(php中给出user1为已使用用户名) 两个php文件,config为php服务端部分

js验证注册用户名重复

<br />在注册页面及某些对象新增页面往往会用到验证数据库中是否已存在该对象。如果调用后台去访问数据库,显示要等用户提交后,刷新页面。下面介绍一种常用方法,用js+webservice实现无刷新验证;<br />为避免数据库中的表名暴露给客户端,可在数据库中新建一个表:Tsys_TableConfuse,用来存储需要验证的表名,及表的编码,这样就可以把表编码暴露给客户端,然后再通过编码来取表名。另外,如果安全级别较高的话,也可以建个表,存储要验证的表字段,用来转换。<br />如要验证tsys_user中

jinqilin1982的专栏 5125

jQuery+Ajax+PHP+mysql实现无刷新注册/登陆(用户名邮箱验证码等)

jQuery+Ajax+PHP+mysql实现无刷新注册/登陆(用户名邮箱验证码等)

jquery ajax+mysql+php实现数据库验证用户名是否存在

总共需要两个页面和一个名为test的数据库,里头有一个名为bbs的表: nameExisit.php(用户前端页面当然也可以写成html页面) reg.php              (用于处理数据的后台页面) nameExisit.php jquery检测用户名 $(function(){ $("#username"

Jack Blog 2530

ajax+java+servlet+mysql实现用户注册输入校验结课设计实例

ajax+java+servlet+mysql 实现用户注册输入校验结课设计实例 有截图

php+mysql+Ajax验证用户名是否已占用

php+mysql+Ajax验证用户名是否已占用

mysql查询重复用户名_Ajax案例——检验用户名是否重复

一、环境搭建1、导包这个案例中使用的jar包有三个,需要导入到WEB-INF目录下的lib文件夹中。导包2、导入工具库本案例使用的工具类是之前用过的JDBCUtils。import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import j...

weixin_39644146的博客 983

[ENVI]-[高光谱遥感]-波谱沙漏分析工具的使用

图1-2-1查看特殊波段的坏波段图1-2-2在中添加坏波段ENVI波谱沙漏分析工具MNF变换。

m0_57992372的博客 1470

html用户名重复验证,jquery 验证用户名是否重复代码实例

本文实例为大家分享了jquery验证用户名是否重复的具体代码,供大家参考,具体内容如下$("#form-admin-add").validate({rules:{userName:{required:true,minlength:2,maxlength:16,remote: {type: "post",url: "/checkUserName.html",data: {userName: func...

weixin_31437055的博客 540

【5G NB-IoT NTN】3GPP R17 NB-IoT NTN介绍_nbiot ntn

在3GPP R17协议中,将NB-IoT集成到了NTN(非陆地网络,即卫星通信)中,并定义了一个系统架构。在这个架构中包括一个可配置再生payload的低轨道(LEO)卫星,这意味着该卫星可以执行传统基站的全部或部分功能。该系统架构还可以适配同步轨道(GEO)卫星,这些卫星与LEO卫星类似,也可以配置再生payload。系统高度范围轨道波束覆盖范围LEO300~1500km绕地球转100~1000kmGEO35786km与地球自转同步200~3500km。

2401_84010302的博客 3570

ThinkPad X230魔改指南:从博通网卡驱动到1080P屏显全攻略(附Sonoma避坑清单)

本文详细介绍了ThinkPad X230的全面改造方案,包括博通网卡驱动(BCM94352HMB)的安装与调试、1080P屏幕改装技术以及macOS Sonoma系统的适配优化。通过硬件升级和软件调优,使这台经典商务本焕发新生,适合DIY爱好者和技术极客参考实践。

weixin_30379531的博客 589

判断用户名是否重复的注册

还是用的小黄人和模拟表单提交,以避免刷新页面。因为之前已经介绍过注册的方法,这里就直接上代码。需要注意的只有一点,就是我们用了两次定义XMLHttpRequest()对象(就是两套)。注意仔细看哦。 前台代码: varbtn=document.getElementById("btn"); varmyname=document.getElementById("m

qq_40704765的博客 9907

Ubuntu中 vsftpd 的安装与配置 (详细介绍)

简介 vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux, BSD, Solaris, HP-UX 以及 IRIX 上面。它支持很多其他的 FTP 服务器不支持的特征。 vsftpd是 UNIX 操作系统中的一个开源的、免费的 FTP 服务软件。具有以下特点: 安全性高 轻小易用 支持系统用户匿名用户和虚拟用户的权限验证和相关操作 安装步骤如下: 1.将此命令复制到终端 sudo apt-get install vsftpd 2.安装完成后启动VSFTP

qq_43299421的博客 1万+

thinkphp用ajax注册及检测个人见解

注册页四栏: 1.用户名      2.密码       3.二次输入密码       4.昵称 前端代码略,看核心部分. 1.用户名前端ajax $("#uid").blur(function(){ //取数据 var uid = $(this).val(); //取数据库...

weixin_30722589的博客 133

用SPSS做信效度分析

对问卷进行Cronbach’s Alpha信度检验。如果此值高于0.8,则说明信度高;如果此值介于0.7-0.8之间,则说明信度较好;如果此值介于0.6~0.7,则说明信度可接受;如果此值小于0.6,说明信度不佳。下面利用SPSS进行分析,点击分析–标度–可靠性分析选项,选中所要分析的问卷数据或题目。得到结果,我们要看这个有用的结果,当克隆巴赫Alpha系数(也可以看标准化后的)大于0.8时候,说明问卷信度较高。

小高~的博客 1万+

SAP PFCG 中的单一角色与复合角色

在 SAP 系统的安全与授权管理中,事务码 PFCG(角色维护)扮演着关键角色。理解单一角色(Single Role)和复合角色(Composite Role)的概念,对于有效地管理用户权限至关重要。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1481

亚信科技Java实习面试总结

沈阳 项目 实现页面的异步刷新,怎么实现的? 【介绍一下实现异步的Ajax技术】 我是通过Ajax技术实现的,Ajax是一种不需要重新加载整个页面的情况下就能更新部分页面的技术。我们可以只和后台服务器进行少量的数据互换就可以使得页面异步局部刷新。 我在项目的很多地方都使用了Ajax技术,注册的时候输入用户名自动检测是否与数据库重名;登录的提示密码错误也不用进行整个页面的刷新;删除一条数据的时候,我们在把id传给后台,后台删除成功以后我们再将页面DOM中的数据也删除,这个过程也是局部刷新。 而在我的学习dem

界王拳十倍 2203

从零开始:使用Verilog在FPGA上实现8051微控制器的完整指南

8051微控制器是一种8位微控制器,由Intel在1980年代初推出。它包括一个CPU、一些RAM和ROM、I/O端口、定时器和串行通信接口。由于其简单的架构和强大的功能,8051已经成为了嵌入式系统设计的首选。FPGA是一种集成电路,设计师可以按照自己的需求进行编程。与传统的ASIC(应用特定集成电路)相比,FPGA提供了更高的灵活性,允许在硬件级别进行快速原型设计和迭代。这里,我们定义了一些基本的输入/输出端口,如时钟clk、复位reset、数据输入/输出和地址输入/输出。

qq_38334677的博客 1333

注册时相同用户名html,用ajax实现检测注册用户名是否重复的完整例子(一)

网上搜索了很多案例,但都和自己的需求不一样。最终实现了下面的例子实现了对注册用户名的校验。采用的架构是servelet+jsp.ValidateName.java代码如下所示,并且采用userIsExist查找数据库看是否存在相同的用户名。Java代码1.packagecom.wuliu.test;2.importjava.io.IOException;3.importjava.io.Pr...

weixin_39517520的博客 827

Unreal 从入门到精通之VR常用操作

本文总结了使用Unreal5开发VR项目时遇到的常见问题及其解决方案。首先,介绍了如何通过VRPawn的TryTeleport函数设置玩家视角位置,确保头显移动时安全区域的正确传送。其次,详细说明了如何在Unreal中播放视频,包括导入视频文件、创建媒体播放器和媒体纹理,并将其应用到3D物体上。接着,讲解了如何播放VR全景视频,建议使用MediaPlate媒体板并调整几何体为球体。最后,讨论了如何手动打开和关闭VR模式,以便在PC模式和头显模式之间切换。这些方法为VR开发提供了实用的技术指导。

TxNet 953

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

php使用ajax实现注册账号时判断账号是否已经存在

在写注册界面的时候,比如账号输入框,我们要实现的功能不仅仅是判断有没有输入,或者说是格式对不对,还需要进行的一步操作便是对账号是否已经存在进行判断;对于这个功能其实也挺简单实现,就是在form表单的提交页面进行数据库查询操作。而这样做便是要提交一次页面,但我们平时在注册的时候也碰到过这样的网站,在我们刚输入账号的时候,后面的就有提示框告诉你这个用户是否可以使用。两者一相比,后者所实现的效果肯定比前

zxh543362234的博客 5838

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Ajax+php验证登陆用户名是否存在

如果用户名存在,则无提示如果不存在,则提示并且禁用提交按钮login.html&lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;用户登录&lt;/title&gt; &lt;/head&gt;

TANKING,开源开发者! 3007

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

JQuery ajax检测重名并进行提示

此处主要是在JAVAWeb项目中利用JQuery AJAX中的$.get()方法以及input标签的两个事件:onkeyup和onblur,实现检测用户名是否重名并进行提示。 $.get(URL,data,function(data,status,xhr),dataType); URL:请求的URL,必填项 data:连同请求发送到服务器的数据,非必...

qq_40348465的博客 2900

异步验证是否重名、用户名是否存在

在这里小小推荐下我的个人博客 csdn:雷园的csdn博客 个人博客:雷园的个人博客 简书:雷园的简书 异步验证是否重名、用户名是否存在 首先是数据库设计,在这里我只做简单的示例 1.sql语句如下: CREATE TABLE `你的数据库名`.`user` ( `id` INT NOT NULL AUTO_INCREMENT, `username` VARCHAR(45) NOT N...

雷园的博客 4825

html+js 简单静态网页设计

一、 实验目的: 1. 复习使用记事本编辑网页的方法。 2. 熟悉不同表单控件类型的应用。 3. 练习使用记事本在网页中添加表单与表单元素。 二、 实验内容: 根据提供的素材设计在线调查问卷。 三、 实验要求: 1. 熟练掌握使用记事本进行简单网页编辑的方法。 2. 能够区分不同表单元素的应用场景。 3. 掌握表单与表单元素的元素名和属性对。 四、 实验学时:

Gamedev 2万+
上一篇: 使用 jQuery 实现 Ajax
下一篇: 5月 月总结
gamedev˚
博客等级 码龄12年 280粉丝 293原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值