servlet:
public class Login extends HttpServlet {
/**
 * 
 */
private static final long serialVersionUID = 1L; 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/html");
PrintWriter out = response.getWriter();
String logined[]={"admin","lihai"};
String name=request.getParameter("username");
String responseContext="true";
for(int i=0;i<logined.length;i++){
if(name.equals(logined[i]))
responseContext="false";
}
request.setAttribute("login",responseContext);
out.flush();
out.close();
}}
index.jsp
<script type="text/javascript">
  var xmlHttp;
  function createXMLHttpRequest(){
    if(window.ActiveXObject()){
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    else if(window.XMLHttpRequest){
      xmlHttp=new XMLHttpRequest();
    }
  }
  function begincheck(){
    var name=document.all.username.value;
    if(name==""){
    alert("please your name");
    return;
   }
   createXMLHttpRequest();
   XmlHttp.onreadystatechange=processor;
   xmlHttp.open("GET","/AJAX/servlet/Login?username="+name);
   xmlHttp.send(null);
  }
  function processor(){
   if(xmlHttp.readyState==4){
      if(xml=Http.status==200){
        responseContext=xmlHttp.responseText;
        if(responseContext.indexOf("true")!=-1){
        alert("<span style='color:red'>恭喜你注册成功</span>");
        }
        else{
         alert("<span style='color:red'>注册失败</span>");
        }
      }
    
   }
  }
</script>
  </head>
  
  <body><form method="post" action="/AJAX/servlet/Login" name="form1">
  <p><input type="text" name="username"></p>
  <p><input type="submit" value="注册"></p></form>
  </body>
我运行没有任何结果,不知道错在哪里,希望各位大哥大姐帮小弟一个蛮

解决方案 »

  1.   

    <script language="JavaScript"> var http = getHTTPObject(); 
    function getHTTPObject(){ 
            var xmlhttp = false; 
            if(window.XMLHttpRequest){ 
                xmlhttp = new XMLHttpRequest(); 
                if(xmlhttp.overrideMimeType){ 
                    xmlhttp.overrideMimeType('text/xml'); 
                } 
            } 
            else{ 
                try{ 
                    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); 
                }catch(e){ 
                    try{ 
                        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
                    }catch(E){ 
                        xmlhttp = false; 
                    } 
                } 
            } 
            return xmlhttp; 
        } 
        function getUsers(){ 
        var url = "***Action.do?proc=getMessenges";// proc 为你自己定义的 
    url+= "&username="+你页面输入的username//document.getElementById(userName).value; 
    http.open("POST",url,true); 
        http.onreadystatechange = responseMessenges; 
        http.send(null); 
        } 
        
        function responseMessenges(){ 
        if(http.readyState == 4){ 
                if(http.status == 200){ 
                    var info = http.responseText;//这是action的返回值 
                  //在这里做其他的操作 比如你有用户返回1 没有就2 那就你的时候就alert提示信息 
                  
                } 
                else{ 
                    alert("您所请求的页面发生异常,可能会影响您浏览该页的信息!"); 
                } 
            } 
        } 
    </script> ---------- 
    输入用户名的框里你可以用 
    <input type="text" name="userName" onblur="getUsers()"> 
    ---------- 
    public ActionForward getMessenges(ActionMapping mapping, ActionForm form, 
    HttpServletRequest request, HttpServletResponse response) 
    throws Exception { 
    String username= request.getParameter("username"); 
    username= new String(username.getBytes("ISO-8859-1"), "GBK");//解决中文乱码问题 
    //这里你就可以用username去判断用户名有没有已经存在了 
                    response.setContentType("text/html"); 
    response.setCharacterEncoding("UTF-8"); 
    response.getWriter().print("你要返回页面的东西") 
    return mapping.findForward(""); 
    }
      

  2.   


    xmlHttp.open("GET","/AJAX/servlet/Login?username="+name); 

    你的servlet的配置文件看看
      

  3.   

    <servlet>
        <description>This is the description of my J2EE component</description>
        <display-name>This is the display name of my J2EE component</display-name>
        <servlet-name>Login</servlet-name>
        <servlet-class>com.servlet.Login</servlet-class>
      </servlet>  <servlet-mapping>
        <servlet-name>Login</servlet-name>
        <url-pattern>/servlet/Login</url-pattern>
      </servlet-mapping>
      

  4.   

    你body中任何地方都没调用JS中的方法,你想要什么响应呢?
      

  5.   


      <body> <form method="post" action="/AJAX/servlet/Login" name="form1"> 
      <p> <input type="text" name="username" onblur="begincheck();"> </p> 
      <p> <input type="submit" value="注册"> </p> </form> 
      </body> 
      

  6.   

    我加入这句代码onblur="begincheck();"还是没有结果