<html> <head> <title>www.MLDNJAVA.cn</title> <script language="javascript"> var xmlHttp ; function createXMLHttp(){ //AJAX创建代码 if(window.XMLHttpRequest){ xmlHttp = new XMLHttpRequest(); //firefox浏览器内核 } else { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } } function checkUserid(userid){ createXMLHttp(); xmlHttp.open("POST","CheckServlet?userid="+userid); xmlHttp.onreadystatechange = checkUseridCallback xmlHttp.send(null); document.getElementById("msg").innerHTML = "正在验证..."; } function checkUseridCallback(){ if(xmlHttp.readyState == 4){ if(xmlHttp.status == 200){ alert("************"); var text = xmlHttp.responseText; if(text == "true"){ document.getElementById("msg").innerHTML = "用户ID重复,无法使用!"; } else { document.getElementById("msg").innerHTML = "此用户ID可以注册!"; } } } } </script> </head> <body> <form action="regist.jsp" method="post"> 用户ID: <input type="text" name="userid" onblur="checkUserid(this.value)"><span id="msg"></span><br> 姓 名:<input type="text" name="name"><br> 密 码 <input type="password" name="password"><br> <input type="submit" value="注册"> <input type="reset" value="重置"> </form> </body> </html>
?
?2,CheckServlet.java
?
package org.lxh.ajaxdemo; import java.sql.* ; import java.io.* ; import javax.servlet.* ; import javax.servlet.http.* ; public class CheckServlet extends HttpServlet{ public static final String DBDRIVER = "org.gjt.mm.mysql.Driver"; public static final String DBURL = "jdbc:mysql://localhost:3306/mldn"; public static final String DBUSER = "root" ; public static final String DBPASS = "123456" ; public void doGet(HttpServletRequest request , HttpServletResponse response) throws ServletException,IOException { this.doPost(request,response); } public void doPost(HttpServletRequest request , HttpServletResponse response) throws ServletException,IOException { request.setCharacterEncoding("GBK"); response.setContentType("text/html"); Connection conn = null; PreparedStatement pstmt =null; ResultSet rs = null; PrintWriter out = response.getWriter(); String userid = request.getParameter("userid"); try { Class.forName(DBDRIVER); conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS); String sql = "SELECT COUNT(userid) FROM user WHERE userid=?"; pstmt = conn.prepareStatement(sql); pstmt.setString(1,userid); rs = pstmt.executeQuery(); if(rs.next()){ if(rs.getInt(1) > 0){ out.print("true"); } else { out.print("false"); } } System.out.println("**********************"); }catch(Exception e){ e.printStackTrace(); }finally { try { conn.close(); } catch (Exception e) { } } } };?
2,CityServlet.java?
package org.lxh.ajaxdemo ; import java.io.* ; import org.w3c.dom.* ; import javax.xml.parsers.* ; import javax.xml.transform.* ; import javax.xml.transform.dom.* ; import javax.xml.transform.stream.* ; import javax.servlet.* ; import javax.servlet.http.* ; public class CityServlet 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{ response.setContentType("text/xml;charset=GBK") ; PrintWriter out = response.getWriter() ; ByteArrayOutputStream bos = new ByteArrayOutputStream() ; try{ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance() ; DocumentBuilder builder = factory.newDocumentBuilder() ; Document doc = builder.newDocument() ; String data[] = {"北京","南京","上海","天津","香港"} ; Element allarea = doc.createElement("allarea") ; for(int x=0;x<data.length;x++){ Element area = doc.createElement("area") ; Element id = doc.createElement("id") ; Element title = doc.createElement("title") ; id.appendChild(doc.createTextNode("" + (x+1))) ; title.appendChild(doc.createTextNode(data[x])) ; area.appendChild(id) ; area.appendChild(title) ; allarea.appendChild(area) ; } doc.appendChild(allarea) ; TransformerFactory tf = TransformerFactory.newInstance() ; Transformer t = tf.newTransformer() ; t.setOutputProperty(OutputKeys.ENCODING,"GBK") ; DOMSource source = new DOMSource(doc) ; StreamResult result = new StreamResult(bos) ; t.transform(source,result) ; out.println(bos) ; System.out.println(bos) ; out.close() ; }catch(Exception e){ e.printStackTrace() ; } } }?
?