Ajax+Struts做登录判断

Action类里:
/*
 * 登录
 */
public ActionForward doLogin(ActionMapping  mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response) throws IOException 
	{
    	
		//获得表单数据
		int uid=Integer.parseInt(request.getParameter("petID"));
		String pwd=request.getParameter("pwd");
		PrintWriter out=response.getWriter();
		//根据ID获得其信息
		PetInfo info=petInfoBiz.getPetInfoByID(uid);
		if(info==null)
		{
	               out.print(0);
		      return null;
		}
		else if(!petInfoBiz.login(uid, pwd))
		{
		       out.print(1);
		       return null;
		}
		else if(petInfoBiz.login(uid, pwd))
		{
		       out.print(2);
		       return null;
		}
		
		return null;
	}


页面的javascript部分(没有使用框架):
//根据IE的类型创建一个XmlHttpRequest对象
		function createXmlHttpRequest()
		{
			if(window.ActiveXObject)
			{
				return new ActiveXObject("Microsoft.XMLHTTP");
			}
			else if(window.XMLHttpRequest)
			{
				return new XMLHttpRequest;
			}
		}
		
		var xmlHttpRequest;	
		//根据宠物编号发送请求到服务器	
		function requestServer()
		{ 
		    var loginState=document.getElementById("loginState");
		    with(document.petForm)
		    {
		      
			  if(petID.value=="")
			  {
			       loginState.innerText="请填写宠物编号!";
			  }
			  else if(isNaN(petID.value))
			  {
			       loginState.innerText="编号不合法";
			  }
			  else if(pwd.value=="")
			  {
			       loginState.innerText="请填写密码";
			  }
			  else
			  {			 	
					var url="doPetInfo.do?methodName=doLogin&petID="+petID.value+"&pwd="+pwd.value;
					//创建XMLHttpRequest组件
					xmlHttpRequest=createXmlHttpRequest();
					//设置回调函数,让其等待服务器的响应
					xmlHttpRequest.onreadystatechange=doLogin;
					//初始化xmlHttpRequest组件,传入URL
					xmlHttpRequest.open("GET",url,true);
					//发送请求
					xmlHttpRequest.send(null);
			  }
		   }
	    }
		//登录,获得服务器返回的信息并做出相应提示
		function doLogin()
		{
		    var loginState=document.getElementById("loginState");
			if(xmlHttpRequest.readyState==0)
			{
				loginState.innerText="未初始化...";
			}
			if(xmlHttpRequest.readyState==1)
			{
				loginState.innerText="初始化中...";
			}
			if(xmlHttpRequest.readyState==2)
			{
				loginState.innerText="正在向服务器发送请求...";
			}
			if(xmlHttpRequest.readyState==3)
			{
				loginState.innerText="正在验证登录信息...";
			}
			if(xmlHttpRequest.readyState==4)
			{
				loginState.innerText="验证完成...";
			}
			if(xmlHttpRequest.readyState==4 && xmlHttpRequest.status==200)
			{
				var text=xmlHttpRequest.responseText;
				if(text=="0")
				{
				    loginState.innerText="此ID不存在";
				}
				else if(text=="1")
				{
				    loginState.innerText="密码错误";
				}
				else if(text=="2")
				{
				    loginState.innerText="验证成功...";
					location.href="doPetInfo.do?methodName=doInit&petID="+document.petForm.petID.value;
				}
			}
		}
		
		



表单部分:
<span id="loginState" style="color:red"></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
宠物ID:<input type="text" name="petID" size="6" value="">
密码:<input type="password" name="pwd" size="6" value="">&nbsp;&nbsp;&nbsp;&nbsp;
<button onclick="requestServer()">登录</button>&nbsp;&nbsp;

你可能感兴趣的:(JavaScript,Ajax,struts,IE,Microsoft)