JSP部分:
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head>
<title>My JSP 'index.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 language="javascript"> var xmlHttp;
//创建xmlHttp对象 function createXMLHttpRequest() { if(window.ActiveXObject) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } else { xmlHttp = new XMLHttpRequest(); } } function validate() { createXMLHttpRequest(); var date = document.getElementById("inputname"); var url = "CheckNameServlet?inputname=" + escape(date.value); xmlHttp.open("GET", url, true); xmlHttp.onreadystatechange = callback; xmlHttp.send(null); } function callback() { if(xmlHttp.readyState == 4) { if(xmlHttp.status == 200) { var mes =xmlHttp.responseXML.getElementsByTagName("message")[0].firstChild.data; var val =xmlHttp.responseXML.getElementsByTagName("passed")[0].firstChild.data; setMessage(mes, val); } } } function setMessage(message, isValid) { var messageArea = document.getElementById("dateMessage"); var fontColor = "red"; if(isValid == "true") { fontColor = "green"; } messageArea.innerHTML = "<font color=" + fontColor + ">"+ message + " </font>"; }</script></head>
<body> <h1> Ajax Validation Example </h1> Birth date: <input type="text" size="10" id="inputname" οnchange="validate();" /> <div id="dateMessage"></div></body></html>
Servlet部分:
public class CheckNameServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response);}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); boolean passed = validateDate(request.getParameter("inputname"));
response.setContentType("text/xml"); response.setHeader("Cache-Control", "no-cache");
String message = "name existence"; if (passed) { message = "You can user this name"; } out.println("<response>"); out.println("<passed>" + Boolean.toString(passed) + "</passed>"); out.println("<message>" + message + "</message>"); out.println("</response>"); out.close();
}
private boolean validateDate(String date) { boolean isValid = true; if (date != null) { if(date.equalsIgnoreCase("mengya")){ isValid=false; } } return isValid;}
}
