zoukankan      html  css  js  c++  java
  • 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  

  • 相关阅读:
    Linux中split大文件分割和cat合并文件
    linux 之oracle静默安装
    linux查看文件的编码格式的方法 set fileencoding
    cat file | while read line的问题
    LINUX增加SWAP分区---install_oracle
    分布式系统---负载均衡、同步
    oracle常用命令
    Oracle中三种循环(For、While、Loop)
    PRD产品需求文档
    App界面交互设计规范
  • 原文地址:https://www.cnblogs.com/wdw31210/p/10531280.html
Copyright © 2011-2022 走看看