1. 程式人生 > >ajax判斷使用者輸入的密碼是否正確

ajax判斷使用者輸入的密碼是否正確

控制層的程式碼段

	@RequestMapping("CheckPass")//ajax請求後臺查詢密碼是否正確
	@ResponseBody
	public void CheckPass(User user , HttpServletResponse response) throws IOException {

		User u = userService.getDetail(user.getLoginname1());

		PrintWriter out = response.getWriter();
		
		 
		if(u.getPasswords1().equals(user.getPasswords1())) {
			out.print(true);
		}else {
			out.print(false);
		}

	}

jsp頁面的程式碼段

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
   <title>超市賬單管理系統</title>
    <link rel="stylesheet" href="css/public.css"/>
    <link rel="stylesheet" href="css/style.css"/>

    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
 <body>
<!--頭部-->
    <%@include file="head.jsp" %>
<!--時間-->
    <section class="publicTime">
        <span id="time">2015年1月1日 11:11  星期一</span>
        <a href="#">溫馨提示:為了能正常瀏覽,請使用高版本瀏覽器!(IE10+)</a>
    </section>
<!--主體內容-->
    <section class="publicMian ">
        <div class="left">
            <h2 class="leftH2"><span class="span1"></span>功能列表 <span></span></h2>
            <%@include file="menum.jsp" %>
        </div>
        <div class="right">
            <div class="location">
                <strong>你現在所在的位置是:</strong>
                <span>密碼修改頁面</span>
            </div>
            <div class="providerAdd">
                <form action="UpdatePWdServlet" method="post" onsubmit="return checkAll();">
                    <!--div的class 為error是驗證錯誤,ok是驗證成功-->
                    <input type="hidden" name="loginname" value="${sessionScope.user.loginname1 }">
                    <div class="">
                        <label for="oldPassword">舊密碼:</label>
                        <input type="password" name="passwords1" id="oldPassword" onblur="isExist(this)"/>
                        <span id="pid"></span>
                    </div>
                    <script type="text/javascript">
    	function createXmlHttpRequest(){//ajax
		// 相容寫法
			//如果是 IE7+,FF等高階瀏覽器
			if(window.XMLHttpRequest) {
						return  new XMLHttpRequest();
			}else
			//如果是IE 5,IE6低版本瀏覽器
			if( window.ActiveXObject) {
						return new ActiveXObject("Microsoft.XMLHTTP");
			}
		}
		var req;
		function isExist(obj){
			var pass=obj.value;//使用者輸入的原密碼
			alert(pass);
			//建立xmlHttpRequest物件
			req=createXmlHttpRequest();
			var loginname="${sessionScope.user.loginname1}";
			//設定回撥函式
			req.onreadystatechange=okCallme;
			
			var url="CheckPass?loginname1="+loginname+"&passwords1="+pass;
			//初始化
			alert(url);
			req.open("get",url,true);
			
			//傳送請求
			req.send(null);					
		}
		var is;
    	function okCallme(){
    		if(req.readyState==4 && req.status==200){
				if(req.responseText=="true"){
					document.getElementById("pid").innerHTML = "<span style='color: green'>密碼正確!</span>";
					is=true;
				}else{	
					document.getElementById("pid").innerHTML = "<span style='color: red'>密碼錯誤!</span>";
					is=false;
				}
			}
    	}
    				function checkUnique(){
                    		var input=document.getElementById("newPassword").value;
                    		var reinput=document.getElementById("reNewPassword").value;
                    		if(input==reinput){
                    			document.getElementById("reNewPass").innerHTML="兩次密碼輸入一致";
                    			return true;
                    		}else{
                    			document.getElementById("reNewPass").innerHTML="<span style='color: red'>兩次密碼輸入不一致</span>";
                    			return false;
                    		}
                    	} 
                    	function checkAll(){
                    		if(checkUnique() && is){
                    				return true;
                    		}else{
                    			return false;
                    		}
                    	}
                    
    	
    </script>
                    
                    <div>
                        <label for="newPassword">新密碼:</label>
                        <input type="password" name="newPassword" id="newPassword"  />
                        <span >*請輸入新密碼</span>
                    </div>
                   
                    <div>
                        <label for="reNewPassword">確認新密碼:</label>
                        <input type="password" name="reNewPassword" id="reNewPassword" onblur="checkUnique()"/>
                        <span id="reNewPass"></span>
                    </div>      
                    <div class="providerAddBtn">
                      <input type="submit" value="儲存" />
                       <input type="button" value="返回" onclick="history.back(-1)"/>
                    </div>
                </form>
            </div>
        </div>
    </section>
   <%@include file="foot.jsp" %>
<script src="js/time.js"></script>

</body>

</html>