@RequestMapping(params="option=login")
	public String login(ModelMap map, HttpServletRequest request,
			HttpServletResponse response) {
		String name = request.getParameter("username");
		if(!DataValidate.validateStringWithTrim(name)){
			return this.returnMessage(map, "error", FinalString.NAME_NULL_ERROR, "json");
		}
		String password = request.getParameter("password");
		if(!DataValidate.validateString(password)){
			return this.returnMessage(map, "error", FinalString.PASSWORD_NULL_ERROR, "json");
		}
		//user name and password both are OK, then check from LDAP
		Person p=new Person();
		p.setLoginName(name);
		p.setLoginPassord(password);
		String result=this.personBusiness.login(p);
		if(FinalString.LDAP_AUTHENTICATION_ERROR.equals(result)){
			return this.returnMessage(map, "error", FinalString.LOGIN_ERROR, "json");
		}else if(FinalString.UNKNOWN_ERROR.equals(result)){
			return this.returnMessage(map, "error", FinalString.UNKNOWN_ERROR, "json");
		}
		
		//login success, query the user's info from DB
		try {
			p=this.personBusiness.getUserByLoginName(p.getLoginName());
		} catch (Exception e) {
			e.printStackTrace();
			return this.returnMessage(map, "error", "Exception throwed when do login"+e.getMessage(),"json");
		}
		if(p!=null){
			JSONObject obj=new JSONObject();
			obj.put("username", p.getLoginName());
			obj.put("cellphone", p.getCellPhone());
			request.getSession().setAttribute("user",p);
			map.put("json","["+obj.toString()+"]");
			return "json";
		}else{
			//user is in LDAP, but not in DB, Maybe:
			//	1. The mail attribute in LDAP is null
			//	2. The DB it not the latest
			
			return this.returnMessage(map, "error", "User cannot be found in DB,please contact Admin!","json");
		}
	}