登录后保存用户信息到Session

前端通过JS把用户信息传到Controller,然后在Controller里将信息放入HttpSession中

@ResponseBody
	@RequestMapping(value = "/loginIn", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
	public String loginIn(HttpServletRequest request, HttpSession httpSession) {
		String loginuser = request.getParameter("username");
		String pwd = request.getParameter("password");
		logger.info("loginuser:" + loginuser + ",pwd:" + pwd);
		JSONObject jsonObject = userFacade.loginIn(loginuser, pwd);
		// 将用户保存到session内
		if ("0".equals(jsonObject.getString("ecode"))) {//判断不用管
			httpSession.setAttribute("username", loginuser);
			httpSession.setAttribute("password", pwd);
		}
		return FastJsonConvert.convertObjectToJSON(jsonObject);
	}
再在前端js中调用Controller第二个方法,获取session内容

JS中代码:

var username = "";
$.ajax({
  "url" : "getUserSession",
  "method" : "POST",
  "cache" : false,
  "async" : false,
}).success(function(data){
  if(data.username != null){
  username = data.username;
  }
})
Controller获取代码:(return JSON对象)

@ResponseBody
	@RequestMapping(value = "/getUserSession", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
	public String getUserSession(HttpServletRequest request, HttpSession httpSession) {
		JSONObject jsonObject = new JSONObject();
		if(httpSession!=null){
			jsonObject.put("username", httpSession.getAttribute("username"));
			jsonObject.put("password", httpSession.getAttribute("password"));
		}
		return FastJsonConvert.convertObjectToJSON(jsonObject);
	}
这样就可把user信息保存到session中,并返回到前端



你可能感兴趣的:(session,将session内容返回到前端,JavaScript,Java)