利用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);
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# jQuery
# Ajax用户名重名检测
# jQuery用户名重名检测
# Ajax用户注册重名检测
# 利用Ajax检测用户名是否被占用的完整实例
# JQuery Ajax如何实现注册检测用户名
# PHP+Ajax实现的检测用户名功能简单示例
# AJAX应用实例之检测用户名是否唯一(实例代码)
# AJAX实现无刷新检测用户名功能
# 使用Ajax实时检测"用户名、邮箱等"是否已经存在
# PHP+Ajax检测用户名或邮件注册时是否已经存在实例教程
# Asp.net下利用Jquery Ajax实现用户注册检测(验证用户名是否存)
# jquery ajax 检测用户注册时用户名是否存在
# PHP+AJAX实现无刷新注册(带用户名实时检测)
# ajax 检测用户名是否被占用
# AJAX检测用户名是否存在的方法
# 表单
# 为空
# 该用
# 是否存在
# 的是
# 都不
# 转到
# 可以使用
# 这篇
# 装了
# 该用户
# 即为
# 再将
# 用户注册
# 大家多多
# 再提
# 格式为
# 则需
# 后端
# 博客
相关文章:
如何选择高效稳定的ISP建站解决方案?
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
seo网站制作优化,网站SEO优化步骤有哪些?
如何选择高效响应式自助建站源码系统?
如何通过WDCP绑定主域名及创建子域名站点?
独立制作一个网站多少钱,建立网站需要花多少钱?
微信小程序制作网站有哪些,微信小程序需要做网站吗?
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
阿里云网站制作公司,阿里云快速搭建网站好用吗?
如何注册花生壳免费域名并搭建个人网站?
建站主机与服务器功能差异如何区分?
建站之星CMS五站合一模板配置与SEO优化指南
公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?
网站制作话术技巧,网站推广做的好怎么话术?
如何在阿里云ECS服务器部署织梦CMS网站?
如何高效完成独享虚拟主机建站?
网站制作的方法有哪些,如何将自己制作的网站发布到网上?
*服务器网站为何频现安全漏洞?
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
制作旅游网站html,怎样注册旅游网站?
如何快速上传建站程序避免常见错误?
建站之星在线版空间:自助建站+智能模板一键生成方案
网站制作公司排行榜,抖音怎样做个人官方网站
深圳企业网站制作设计,在深圳如何网上全流程注册公司?
建站之星如何优化SEO以实现高效排名?
宝塔新建站点为何无法访问?如何排查?
如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?
如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法
正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?
,交易猫的商品怎么发布到网站上去?
如何在香港服务器上快速搭建免备案网站?
网站制作新手教程,新手建设一个网站需要注意些什么?
c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗
宁波免费建站如何选择可靠模板与平台?
建站之星价格显示格式升级,你的预算足够吗?
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
建站之星免费版是否永久可用?
如何在Windows虚拟主机上快速搭建网站?
如何在腾讯云服务器快速搭建个人网站?
专业网站制作服务公司,有哪些网站可以免费发布招聘信息?
在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?
如何选择靠谱的建站公司加盟品牌?
外贸公司网站制作哪家好,maersk船公司官网?
如何登录建站主机?访问步骤全解析
建站之星会员如何解锁更多建站功能?
青浦网站制作公司有哪些,苹果官网发货地是哪里?
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?
建站VPS选购需注意哪些关键参数?
实例解析angularjs的filter过滤器
*请认真填写需求信息,我们会在24小时内与您取得联系。