@Override
	public String execute() throws Exception {
		System.out.println("login action:check u_account " + account);
		
		user = this.service.login(account, password);
		System.out.println("this.account " + account);
		System.out.println("this.password " + password);
		
		//Invalid Account
		if(user == null) {
			System.out.println("!NONE --> INPUT");
			this.addFieldError("account", "Invalid Account");
			return INPUT;
		}
		
		//Wrong Password
		if(account.equals(user.getU_account()) && !password.equals(user.getU_password())) {
			System.out.println("!INPUT");
			this.addFieldError("password", "Wrong Password");
			return INPUT;
		}
		
		//Validate Successful!!!
		if(account.equals(user.getU_account()) && password.equals(user.getU_password())) {
			Cookie cookie = cookieUtil.generateCookie(user);
			response.addCookie(cookie);
			System.out.println("Add cookie succeed,cookie:" + 
					cookie.getName() + "--" + cookie.getValue());
			session.put(USER_SESSION, user);	//add user's info to session
			
			// if user logins by ajax method, then refresh user-box div
			/*if (loginType.equals("ajax")) {
				PrintWriter out = response.getWriter();
				out.append("MSG");
			}*/
			
			// check notification and push them to the request page
			this.service.checkNotification(user.getUid(), requestMap);
			
			return SUCCESS;
		}
		
		System.out.println("!ERROR --> INPUT");
		this.addFieldError("account", "Shit Happened!");
		return INPUT;
	}