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  

 

转载于:https://www.cnblogs.com/wdw31210/p/10531280.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值