Ajax.js
- var _xmlHttpRequestObj;
- var _loadingFunction;
- var _postHttpProcessChangeCallback;
- var resultValue;
- function postXmlHttp(submiturl,callbackfunc,loadfunc)
- {
- _postHttpProcessChangeCallback = callbackfunc;
- _loadingFunction=loadfunc;
- if(window.createRequest)
- {
- _xmlHttpRequestObj = window.createRequest();
- _xmlHttpRequestObj.open('POST',submiturl,true);
- _xmlHttpRequestObj.onreadystatechange=postXmlHttpProcessPostChange;
- _xmlHttpRequestObj.send();
- }else if(window.XMLHttpRequest)
- {
- _xmlHttpRequestObj = new XMLHttpRequest();
- _xmlHttpRequestObj.overrideMimeType('text/xml');
- _xmlHttpRequestObj.open('POST',submiturl,true);
- _xmlHttpRequestObj.onreadystatechange=postXmlHttpProcessPostChange;
- _xmlHttpRequestObj.send("");
- }else if(window.ActiveXObject)
- {
- _xmlHttpRequestObj = new ActiveXObject("Microsoft.XMLHTTP");
- _xmlHttpRequestObj.open('POST',submiturl,true);
- _xmlHttpRequestObj.onreadystatechange=postXmlHttpProcessPostChange;
- _xmlHttpRequestObj.send();
- }
- }
- function postXmlHttpProcessPostChange()
- {
- if(_xmlHttpRequestObj.readyState==4&&_xmlHttpRequestObj.status==200)
- {
- resultValue = _xmlHttpRequestObj.responseText;
- setTimeout(_postHttpProcessChangeCallback,2);
- }
- if(_xmlHttpRequestObj.readyState==1)
- {
- setTimeout(_loadingFunction,2);
- }
- }
var _xmlHttpRequestObj;
var _loadingFunction;
var _postHttpProcessChangeCallback;
var resultValue;
function postXmlHttp(submiturl,callbackfunc,loadfunc)
{
_postHttpProcessChangeCallback = callbackfunc;
_loadingFunction=loadfunc;
if(window.createRequest)
{
_xmlHttpRequestObj = window.createRequest();
_xmlHttpRequestObj.open('POST',submiturl,true);
_xmlHttpRequestObj.onreadystatechange=postXmlHttpProcessPostChange;
_xmlHttpRequestObj.send();
}else if(window.XMLHttpRequest)
{
_xmlHttpRequestObj = new XMLHttpRequest();
_xmlHttpRequestObj.overrideMimeType('text/xml');
_xmlHttpRequestObj.open('POST',submiturl,true);
_xmlHttpRequestObj.onreadystatechange=postXmlHttpProcessPostChange;
_xmlHttpRequestObj.send("");
}else if(window.ActiveXObject)
{
_xmlHttpRequestObj = new ActiveXObject("Microsoft.XMLHTTP");
_xmlHttpRequestObj.open('POST',submiturl,true);
_xmlHttpRequestObj.onreadystatechange=postXmlHttpProcessPostChange;
_xmlHttpRequestObj.send();
}
}
function postXmlHttpProcessPostChange()
{
if(_xmlHttpRequestObj.readyState==4&&_xmlHttpRequestObj.status==200)
{
resultValue = _xmlHttpRequestObj.responseText;
setTimeout(_postHttpProcessChangeCallback,2);
}
if(_xmlHttpRequestObj.readyState==1)
{
setTimeout(_loadingFunction,2);
}
}
JSP页面
- <%@ page language="java" 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>AjaxApp</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" src="./ajax.js"></script>
- <script type="text/javascript">
- function checkUserName()
- {
- var userName = document.getElementsByName("userName")[0].value;
- postXmlHttp("./UserServlet.do?userName="+userName,"callback(resultValue)","loadingFunc()");
- }
- function callback(resultValue1)
- {
- var td = document.getElementById("td");
- td.innerHTML=resultValue1;
- }
- function loadingFunc()
- {
- var td = document.getElementById("td");
- td.innerHTML="loading..."
- }
- </script>
- </head>
- <body>
- <form action="" method="post">
- <table align="center" border="0">
- <tr>
- <td>用户名</td><td><input name="userName"></td><td id="td"></td>
- </tr>
- <tr>
- <td>密 码</td><td><input name="password" onclick="checkUserName();"></td>
- </tr>
- <tr>
- <td colspan="2"><input type="submit" value="提交"></td>
- </tr>
- </table>
- </form>
- </body>
- </html>
<%@ page language="java" 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>AjaxApp</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" src="./ajax.js"></script>
<script type="text/javascript">
function checkUserName()
{
var userName = document.getElementsByName("userName")[0].value;
postXmlHttp("./UserServlet.do?userName="+userName,"callback(resultValue)","loadingFunc()");
}
function callback(resultValue1)
{
var td = document.getElementById("td");
td.innerHTML=resultValue1;
}
function loadingFunc()
{
var td = document.getElementById("td");
td.innerHTML="loading..."
}
</script>
</head>
<body>
<form action="" method="post">
<table align="center" border="0">
<tr>
<td>用户名</td><td><input name="userName"></td><td id="td"></td>
</tr>
<tr>
<td>密 码</td><td><input name="password" οnclick="checkUserName();"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="提交"></td>
</tr>
</table>
</form>
</body>
</html>
Serlet类
- public class UserServlet extends HttpServlet
- {
- /**
- * Destruction of the servlet. <br>
- */
- public void destroy()
- {
- super.destroy(); // Just puts "destroy" string in log
- // Put your code here
- }
- public void doPost(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException
- {
- String userName = (String)request.getParameter("userName");
- UserService userService = new UserService();
- boolean b = userService.checkUserName1(userName);
- response.setCharacterEncoding("utf-8");
- //jsp页面编码最好也用utf-8 防止乱码
- PrintWriter pw= response.getWriter();
- if(b)
- {
- pw.write("<font color=red>该用户名已经被使用</font>");
- }else
- {
- pw.write("<font color=red>该用户名可用</font>");
- }
- }
- }