一、流程

登录接口--》验证用户名密码--》获取用户实体对象--》创建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

java session创建与获取的更多相关文章

  1. MVC中session创建并获取问题

    有两个ActionResult分别为A和B,如下 public ActionResult A() { Session["test"]="123"; return ...

  2. 使用java 程序创建格式为utf-8文件的方法(写入和读取json文件)

    使用java 程序创建格式为utf-8文件的方法:  try{            File file=new   File("C:/11.jsp");              ...

  3. 第七篇 :微信公众平台开发实战Java版之如何获取微信用户基本信息

    在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的.对于不同公众号,同一用户的openid不同). 公众号可通过本接口来根据O ...

  4. 第五篇 :微信公众平台开发实战Java版之如何获取公众号的access_token以及缓存access_token

    一.access_token简介 为了使第三方开发者能够为用户提供更多更有价值的个性化服务,微信公众平台 开放了许多接口,包括自定义菜单接口.客服接口.获取用户信息接口.用户分组接口.群发接口等, 开 ...

  5. Java中创建操作文件和文件夹的工具类

    Java中创建操作文件和文件夹的工具类 FileUtils.java import java.io.BufferedInputStream; import java.io.BufferedOutput ...

  6. Java值创建线程的两种方式对比

    在Java中创建线程的方式有两种,第一种是直接继承Thead类,另一种是实现Runable接口.那么这两种方式孰优孰劣呢? 采用继承Thead类实现多线程: 优势:编写简单,如果需要访问当前线程,只需 ...

  7. Java Class类以及获取Class实例的三种方式

    T - 由此 Class 对象建模的类的类型.例如,String.class 的类型是Class<String>.如果将被建模的类未知,则使用Class<?>.   publi ...

  8. Java curator操作zookeeper获取kafka

    Java curator操作zookeeper获取kafka Curator是Netflix公司开源的一个Zookeeper客户端,与Zookeeper提供的原生客户端相比,Curator的抽象层次更 ...

  9. Java反射机制能够获取的信息,与应用

    一.什么是Java反射机制? [1]反射机制是在运行状态中,对于任何一个类,都能够知道这个类的所有属性和方法: [2]对于任意一个对象,都能够调用它的任意一个属性和方法: 像这种动态获取类的信息以及动 ...

随机推荐

  1. PS调出春夏外景婚纱照

    效果图 先来看看原图和夏季的效果图 先看看原图 教程终于来咯 原图暗部太深,需要将暗部提亮.可以把暗部选区选出来.为了精确选择暗部选区,我利用计算命令如上图所示.最后得到暗部的选区. 上图得到了暗部选 ...

  2. 线程锁(互斥锁Mutex)及递归锁

    一.线程锁(互斥锁) 在一个程序内,主进程可以启动很多个线程,这些线程都可以访问主进程的内存空间,在Python中虽然有了GIL,同一时间只有一个线程在运行,可是这些线程的调度都归系统,操作系统有自身 ...

  3. Django组件之认证系统

      Django自带的用户认证 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册.用户登录.用户认证.注销.修改密码等功能,这还真是个麻烦的事情呢. Dja ...

  4. 【学习总结】Markdown 使用的正确姿势

    参考资料:Learning-Markdown 入门参考 注:原博可能对GitHub中的Markdown格式更适用. 有时间可以再GitHub中尝试并写一篇相关攻略. ps:在王熊猫的GitHub里也有 ...

  5. Bootstrap知识记录:排版样式

    ---恢复内容开始--- 一.页面排版Bootstrap 提供了一些常规设计好的页面排版的样式供开发者使用.1.页面主体Bootstrap 将全局font-size 设置为14px,line-heig ...

  6. 通过event记录sql

    providers EventServiceProvider.php 添加 protected $listen = [ 'Illuminate\Database\Events\QueryExecute ...

  7. Tomcat 目录结构以及基本配置

    1 Tomcat 目录层次结构 ① bin:存放启动和关闭tomcat 的脚本文件② conf: 存放配置文件 server.xml:该文件用于配置和server 相关的信息,比如tomcat 启动端 ...

  8. [转帖]web安全:QQ号快速登录漏洞及被盗原理

    web安全:QQ号快速登录漏洞及被盗原理 https://www.cnblogs.com/1996V/p/7481823.html 看了下 QQ的确监听 端口 大神牛B 自己这一块一直没深入学习过.. ...

  9. Golang的日志处理

    整个看了一圈下来,感觉Golang的日志包在管理多线程安全的情况下,提供了最小粒度的工具.并没有提供什么复杂的过滤器之类的生成. 实现了一个demo来记录一下日志分类日志打印等实现: package ...

  10. mvn clean compile package install deploy

    (1) package 目的是打包,在pom中,如果是jar就会打包成jar,如果是war就会打包成war 在pom.xml中: <modelVersion></modelVersi ...