加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用Ajax实现登录验证

发布时间:2020-12-16 03:15:00 所属栏目:百科 来源:网络整理
导读:get提交方式: %@ page language="java" import="java.util.*" pageEncoding="UTF-8"contentType="text/html; charset=utf-8"%!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"htmlheadtitleMy JSP 'loginAjax.jsp' starting page/titlestyle

get提交方式:

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

	<head>
		<title>My JSP 'loginAjax.jsp' starting page</title>
		<style type="text/css">
			body {
				text-align: center;
				background-color: #E0FFFF;
			}
			
			span {
				color: darkorange;
			}
		</style>
	</head>

	<body>
		<form action="">
			用户名:<input type="text" id="uname" name="uname" maxlength="5" /><span id="tip"></span><br /> 密 码:<input type="text" name="pwd" maxlength="10" /><span id="tip2"></span><br /> <input type="submit" value="提交" />
		</form>
		<br>
	</body>
	<script type="text/javascript">
		document.getElementById("uname").onblur = function() {
			var uname = this.value;
			if(uname.length == 0) {
				document.getElementById("tip").innerHTML = "用户名必填";
			} else {
				//uname = URLEncoder();
				//alert(uname);
				var ajax = createAjax();

				function createAjax() {
					var ajax = null;
					try {
						ajax = new ActiveXObject("microsoft.xmlhttp");
					} catch(e) {
						ajax = new XMLHttpRequest();

					}
					return ajax;
				}
				ajax.open("get","${pageContext.request.contextPath}/LoginServlet?time=" + new Date().getDate() + "&username=" + uname);
				ajax.send(null);
				ajax.onreadystatechange = function() {
					if(ajax.readyState == 4) {
						if(ajax.status == 200) {
							var varReturn = ajax.responseText;
							document.getElementById("tip").innerHTML = varReturn;
						}
					}
				}
			}

		}
	</script>

</html>

public class LoginServlet extends HttpServlet {

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

	public void doPost(HttpServletRequest request,IOException {
		String un = request.getParameter("username");
		byte[] by = un.getBytes("ISO8859-1");
		un = new String(by,"UTF-8");
		String str = "用户名可以注册";
		System.out.println(un);
		if ("张三".equals(un)) {
			str = "用户名已经注册";
			System.out.println("zs");
		}
		response.setContentType("text/html;charset=utf-8");
		PrintWriter pw = response.getWriter();
		pw.print(str);
		pw.flush();
		pw.close();

	}
}

post提交方式

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

<head>
<title>My JSP 'loginAjax.jsp' starting page</title>
<style type="text/css">
body {
	text-align: center;
	background-color: #E0FFFF;
}

span {
	color: darkorange;
}
</style>
</head>

<body>
	<form action="">
		用户名:<input type="text" id="uname" name="uname" maxlength="5" /><span
			id="tip"></span><br /> 密 码:<input type="text" name="pwd"
			maxlength="10" /><span id="tip2"></span><br /> <input type="submit"
			value="提交" />
	</form>
	<br>
</body>
<script type="text/javascript">
	document.getElementById("uname").onblur = function() {
		var uname = this.value;
		if (uname.length == 0) {
			document.getElementById("tip").innerHTML = "用户名必填";
		} else {
			//uname = URLEncoder();
			//alert(uname);
			var ajax = createAjax();

			function createAjax() {
				var ajax = null;
				try {
					ajax = new ActiveXObject("microsoft.xmlhttp");
				} catch (e) {
					ajax = new XMLHttpRequest();

				}
				return ajax;
			}
			ajax.open("POST","${pageContext.request.contextPath}/AjaxTimeServlet2?time="
							+ new Date().getDate());
			ajax.setRequestHeader("content-type","application/x-www-form-urlencoded");
			ajax.send("username=" + uname);
			ajax.onreadystatechange = function() {
				if (ajax.readyState == 4) {
					if (ajax.status == 200) {
						var varReturn = ajax.responseText;
						//document.getElementById("tip").innerHTML = varReturn;
						var imaElement = document.createElement("img");
						//alert(varReturn);
						imaElement.src = varReturn;//src为servlet里面返回的字符串图片路径
						imaElement.style.width = "12px";
						imaElement.style.height = "12px";
						var spanElement = document.getElementById("tip");
						//清空span标签中的内容
						spanElement.innerHTML = "";
						//将img标签加入到span标签中
						spanElement.appendChild(imaElement);
					}
				}
			}
		}

	}
</script>

</html>

public class AjaxTimeServlet2 extends HttpServlet {

	public void doGet(HttpServletRequest request,IOException {
		 
		response.setContentType("text/html;charset=UTF-8");
		String un = request.getParameter("username");
		byte[] by = un.getBytes("ISO8859-1");
		un = new String(by,"UTF-8");
		System.out.println(un);
		String img = "images/MsgSent.gif";
		System.out.println(un);

		if ("张三".equals(un)) {
			img = "images/MsgError.gif";
		}
		response.setContentType("text/html;charset=utf-8");
		PrintWriter pw = response.getWriter();
		pw.write(img);
		pw.flush();
		pw.close();
	}

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读