在java中应用ajax,验证用户名,前台用js处理
2016-08-23 18:37
465 查看
前台的注册页面
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'register.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript">
function checkUserName(username) {
//将username传递到服务器,然后判断用户名是否已经存在
//<1>创建xmlHttpRequest对象:js发送请求到服务器
var xmlhttp;
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
//<2>发送请求
//get请求
//xmlhttp.open("GET", "http://localhost:8090/filter/checkName.do?username="+username, true);
//post请求
xmlhttp.open("POST", "http://localhost:8080/filter/checkName.do", true);
//传递参数: set请求头 + 发送数据
xmlhttp.setRequestHeader("Content-type",
"application/x-www-form-urlencoded");
xmlhttp.send("username=" + username + "&password=admin");
//<3>响应:获取数据
// readyState=4 && status = 200
//onreadstatechange : (属性)事件,在readstate发生改变时触发
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
//请求成功而且获取到了数据
var response = xmlhttp.responseText;
response = JSON.parse(response);
//显示
if (response.flag) {
document.getElementById("user_info").innerHTML = response.content;
}
}
};
}
</script>
</head>
<body>
<form action="register.do" method="post">
用户名:<input type="text" name="username"
onblur="checkUserName(this.value)" /><span id="user_info"></span><br />
密码:<input type="password" name="password"><br /> 个性签名:<input
type="text" name="sign"><br /> <input type="submit"
value="注册"><br />
</form>
<br>
</body>
</html>
后台的servlet
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 CheckNameServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String username = request.getParameter("username");
System.out.println(username);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
System.out.println(username);
System.out.println(password);
String msg = "";
if (username.equals("admin")) {
// 用户已存
msg = "{\"content\":\"用户已存在\",\"flag\":true}";
} else {
// 用户不存在
msg = "{\"content\":\"用户不存在\",\"flag\":false}";
}
response.getWriter().write(msg);
}
}
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'register.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript">
function checkUserName(username) {
//将username传递到服务器,然后判断用户名是否已经存在
//<1>创建xmlHttpRequest对象:js发送请求到服务器
var xmlhttp;
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
//<2>发送请求
//get请求
//xmlhttp.open("GET", "http://localhost:8090/filter/checkName.do?username="+username, true);
//post请求
xmlhttp.open("POST", "http://localhost:8080/filter/checkName.do", true);
//传递参数: set请求头 + 发送数据
xmlhttp.setRequestHeader("Content-type",
"application/x-www-form-urlencoded");
xmlhttp.send("username=" + username + "&password=admin");
//<3>响应:获取数据
// readyState=4 && status = 200
//onreadstatechange : (属性)事件,在readstate发生改变时触发
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
//请求成功而且获取到了数据
var response = xmlhttp.responseText;
response = JSON.parse(response);
//显示
if (response.flag) {
document.getElementById("user_info").innerHTML = response.content;
}
}
};
}
</script>
</head>
<body>
<form action="register.do" method="post">
用户名:<input type="text" name="username"
onblur="checkUserName(this.value)" /><span id="user_info"></span><br />
密码:<input type="password" name="password"><br /> 个性签名:<input
type="text" name="sign"><br /> <input type="submit"
value="注册"><br />
</form>
<br>
</body>
</html>
后台的servlet
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 CheckNameServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String username = request.getParameter("username");
System.out.println(username);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
System.out.println(username);
System.out.println(password);
String msg = "";
if (username.equals("admin")) {
// 用户已存
msg = "{\"content\":\"用户已存在\",\"flag\":true}";
} else {
// 用户不存在
msg = "{\"content\":\"用户不存在\",\"flag\":false}";
}
response.getWriter().write(msg);
}
}
相关文章推荐
- Ajax用户名验证是否存在(前台调后台)
- 最简单的Ajax应用,异步验证用户名
- jquery.validate 验证(支持前台js验证通过,然后ajax后台数据校验)
- 【java项目实践】详解Ajax工作原理以及实现异步验证用户名是否存在(java版)
- 异步(ajax)配合一般处理程序 验证用户名
- 简单ajax应用实例:ajax+jsp实现用户名验证
- Stripes视图框架Java对象属性验证和prototype.js Ajax的测试
- jquery.validate 验证(支持前台js验证通过,然后ajax后台数据校验)二
- 【java项目实践】详解Ajax工作原理以及实现异步验证用户名是否存在+源码下载(java版)
- ajax(四) Ajax应用:验证用户名是否可用
- JS实现AJAX提交数据到后台,实现验证用户名是否存在功能详解
- 简单的表单验证--js,jsp,jquery,java,mysql(前台和后台验证)(
- Java乔晓松-ajax实现用户名和邮箱唯一验证实例(struts2框架和HIbernate)
- Java web应用用户是否登录验证过滤处理机制
- Ajax java struts 实现用户名验证
- 牛腩购物11:完善用户注册 onblur 失去焦点 jquery ajax post方式使用 一般处理程序 判断用户是否存在 前台js的应用
- ajax 简单应用---用户名无刷新验证
- Stripes视图框架Java对象属性验证和prototype.js Ajax的测试
- 前台传后台参数,其中前台js 后台java处理乱码