java session創建與獲取


一、流程

登錄接口--》驗證用戶名密碼--》獲取用戶實體對象--》創建session (key,value)

其他接口調用--》獲取session(key)  

 

二、代碼

 

     //登錄並寫入緩存
	@RequestMapping("a/login") 
	@ResponseBody
	public String loginAction(HttpSession session, String userName, String password, HttpServletRequest request) {
		
		HrUser hr=new HrUser();
		hr.setNickName(userName);
		session.setAttribute("userInfo", hr);						
		return "";
	}
//對外獲取緩存 @RequestMapping("a/logb") // , method = RequestMethod.POST) @ResponseBody public String logb() { Object pp=getSession().getAttribute("userInfo"); String result="1"; if(pp!=null) { result=((HrUser)pp).getNickName(); } return result; } //獲取會話緩存內容 private HttpSession getSession() { HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()) .getRequest(); return request.getSession(); }

  

三、效果

A用戶 本地運行代碼,先調用   a/login接口傳參?userName=1234    ,再調用 a/logb  會返回1234   一存一取成功

B用戶 在A用戶執行完存取操作后,執行  a/logb  ,不會返回任何東西,因為只有A用戶的會話才有緩存,這時 B去執行 a/login接口傳參?userName=12345    ,再調用 a/logb  會返回12345      A用戶執行  調用 a/logb  只會返回自己會話的緩存1234  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM