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> 宠物ID:<input type="text" name="petID" size="6" value=""> 密码:<input type="password" name="pwd" size="6" value=""> <button onclick="requestServer()">登录</button>