zoukankan      html  css  js  c++  java
  • 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;
    
  • 相关阅读:
    [转]Maven 初学+http://mvnrepository.com/
    比较IDEA与Eclipse
    [web] 使用Promise封装fetch实现网络超时,终止请求的功能
    [web] 理解和使用Promise.all和Promise.race
    [Web] How to Test React and MobX with Jest
    [Web 测试] Jest单元测试的几个指标
    [Web] 取消Promise
    [安全分析] 安全分析中的威胁情报(一)
    [Web] 深入理解现代浏览器
    [Web] HTML5新特性history pushState/replaceState解决浏览器刷新缓存
  • 原文地址:https://www.cnblogs.com/xcxcxcxc/p/5541229.html
Copyright © 2011-2022 走看看