Ajax应用1,会员注册唯一性检查

实例一   会员注册唯一性检查

会员注册唯一性检查是所有会员系统的基本功能之一。在本实例中,会员注册唯一性检查的业务逻辑由一个名为CheckUser的HttpServlet来实现,CheckUser在web.xml中配置后,在会员注册界面checkUser.jsp中使用AJAX技术异步调用CheckUser完成会员注册有效性的检查

 

一:CheckUser.java

 

package demo;
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;

public class CheckUser extends HttpServlet{
        public void destory(){
                super.destroy();
        }
        
        public void doGet(HttpServletRequest request,HttpServletResponse response){
                doPost(request,response);
        }
        public void doPost(HttpServletRequest request,HttpServletResponse response){
                response.setContentType("text/html");
                try {
                        PrintWriter out =response.getWriter();
                        //这里假设注册了四个用户
                        String[] logined ={"admin","tom","hanks","qingxin"};
                        //接受从客户端提交的loginName参数
                        String loginName =request.getParameter("loginName");
                        //创建一个存放相应内容的字符串
                        String responseContext ="true";
                        for(int i=-0;i<logined.length;i++){
                                if(loginName.equals(logined[i])){
                                        responseContext="false";
                                }
                        }
                        //将处理结果返回客户端
                        out.println(responseContext);
                        out.flush();
                        out.close();
                } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }
        }
        public void init() throws ServletException{}
}


 

2.checkUser在web.xml中的配置

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
	<!-- CheckUser 配置始 -->
<servlet>
	<servlet-name>CheckUser</servlet-name>
	<servlet-class>demo.CheckUser</servlet-class>
</servlet>
<servlet-mapping>
	<servlet-name>CheckUser</servlet-name>
	<url-pattern>/CheckUser</url-pattern>
</servlet-mapping>
      <!-- CheckUser配置终 -->
</web-app>


3.使用Ajax技术的测试页面checkUser.jsp

 

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<script type="text/javascript">
	//定义一个用于存放XMlHttpRequest对象
	var xmlHttp;
	//该函数用于创建一个XMLHttpRequest对象
	function createXMLHttprequest() {
		if (window.ActiveXObject) {
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTp");
		} else if (window.XMLHttprequest) {
			xmlHttp = new XMLHttpRequest();
		}
	}

	//这是一个用于启动AJAX异步通信的方法
	function beginCheck() {
		var tempLoginName = document.all.loginName.value;
		if (tempLoginName == "") {
			alert("对不起,请输入注册名!");
			return;
		}
		//创建一个XMLHttpRequest对象
		createXMLHttprequest();
		//将状态触发器绑定到一个函数
		xmlHttp.onreadystatechange = processor;
		//通过Get方法向指定的URL建立服务器的调用
		xmlHttp.open("GET", "CheckUser?loginName=" + tempLoginName);
		//发送请求
		xmlHttp.send(null);
	}
	//这是一个用于处理状态改变的函数
	function processor() {
		//定义一个变量用于存放从服务器返回相应的结果
		var responseContext;
		if (xmlHttp.readyState == 4) { //如果相应完成
			if (xmlHttp.status == 200) { //如果返回成功
				//取出服务器的相应内容
				responseContext = xmlHttp.responseText;
				if (responseContext.indexOf("true") != -1) {
					alert("恭喜你,该注册名有效!");
				} else {
					alert("对不起,该注册名已经被使用!");
				}
			}
		}
	}
</script>
		<title>注册用户唯一性检查</title>
	</head>
	<body>
		<form action="form1" action="CheckUser" method="post">
			请输入注册用户名:
			<input name="loginName" type="text" id="loginName" />
			<input type="button" name="checkLoginName" value="有效性检查"
				οnclick=beginCheck();>
		</form>
	</body>
</html>


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个基于Java Web和Ajax的邮箱唯一性检测的示例代码: 在前端页面中添加以下代码: ``` <input type="email" name="email" id="email" placeholder="Email" required> <span id="emailCheck"></span> <script> $(document).ready(function(){ $('#email').blur(function(){ var email = $(this).val(); $.ajax({ url: "checkEmail.do", type: "POST", data: {"email": email}, dataType: "json", success:function(data){ if(data.status == "success"){ $('#emailCheck').html("<font color='green'>该邮箱可用</font>"); }else{ $('#emailCheck').html("<font color='red'>该邮箱已被注册</font>"); } }, error:function(){ alert("请求失败!"); } }); }); }); </script> ``` 在后端Java代码中添加以下代码: ``` @RequestMapping(value = "/checkEmail", method = RequestMethod.POST) @ResponseBody public Map<String, Object> checkEmail(HttpServletRequest request){ Map<String, Object> resultMap = new HashMap<String, Object>(); String email = request.getParameter("email"); if(email == null || email.trim().equals("")){ resultMap.put("status", "error"); resultMap.put("message", "邮箱不能为空!"); return resultMap; } User user = userService.findUserByEmail(email); if(user != null){ resultMap.put("status", "fail"); resultMap.put("message", "该邮箱已被注册!"); }else{ resultMap.put("status", "success"); resultMap.put("message", "该邮箱可用!"); } return resultMap; } ``` 其中,User为用户实体类,userService为用户服务类,findUserByEmail方法用于根据邮箱查询用户信息。在该方法中,如果查询到用户信息,则说明该邮箱已被注册,返回“fail”;否则返回“success”。最后返回的是一个Map集合,其中包含了状态和消息两个属性。前端通过Ajax接收到该Map集合后,根据状态不同进行不同的提示。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值