前面有讲到session和cookie的一些简单的区别和比较,我们继续为java在服务端如何对session的操作留下笔记,这里以用户的登陆和退出操作为实用场景,简单讲解session的建立、清空等操作!

①用户登陆获取用户信息并放置到session中,在项目中简单代码如下:/**

* @Description: 用户oauth授权登录

* @param @param request

* @param @param response

* @param @param code

* @param @param state

* @param @return

* @author dapengniao

* @date 2016年1月13日 下午3:59:14

*/

@RequestMapping("login")

public ModelAndView UserOAuthLogin(ModelAndView view,

HttpServletRequest request, HttpServletResponse response,

@RequestParam(value = "code", required = false) String code,

@RequestParam(value = "state", required = false) String state) {

OauthCode_GetUseInfo oauth = new OauthCode_GetUseInfo(code);

try {

UserInfo userinfos = oauth.getUserInfo();//通过公用方法用code获取用户基本信息

request.getSession().setAttribute("unionid",userinfos.getUnionid()); //将用户unionid缓存到session

request.getSession().setAttribute("petname",

userinfos.getNickname());   //将昵称缓存到session

view.setViewName("index");

return view;

} catch (Exception e) {

logger.error(e, e);

return view;

}

}

将用户相关信息放入到session中,服务端就可以根据session中是否存在用户信息给与用户不同的权限,这个功能我们在下面将采用filter(过滤器)实现详细讨论!

②用户在页面做退出操作的时候需要将用户session消息清空,以方便控制用户权限,简单代码如下:/**

* @Description: 用户登录退出

* @param @param request

* @author dapengniao

* @date 2016年1月22日 下午12:03:16

*/

@RequestMapping("loginout")

public void userLoginOut(HttpServletRequest request){

request.getSession().invalidate();

}

这里将用户信息清空,用户再次访问的时候就会需要用户再次登录才能进行下一步操作!

下篇我们将采用filter和session去实现用户权限的控制操作,感谢你的翻阅,如有疑问可以留言一起讨论!

除非注明,否则文章均由 崔用志博客 整理发布,欢迎转载。

如果喜欢,可以点此订阅本站

java session缓存_Java服务端采用Session的缓存oauth2.0授权用户信息相关推荐

  1. Java 监控方案_Java 服务端监控方案

    对于任何一个服务端应用来说,监控都是至关重要的一环.一个系统在运行过程当中太容易出现故障,网络.存储.系统负载.软件 Bug,任何一个点出现问题都有可能影响到整个系统的稳定运行,因此,监控必不可少.一 ...

  2. Java Websocket实例【服务端与客户端实现全双工通讯】

    Java Websocket实例[服务端与客户端实现全双工通讯] 现很多网站为了实现即时通讯,所用的技术都是轮询(polling).轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发 出HTTP ...

  3. http 缓存分为客户端缓存和服务端缓存

    http 缓存分为客户端缓存和服务端缓存 1. 客户端缓存 客户端缓存指的是浏览器缓存, 浏览器缓存是最快的缓存, 因为它直接从本地获取(但有可能需要发送一个请求), 它的优势是可以减少网络流量, 加 ...

  4. Java中Socket通信-服务端和客户端双向传输字符串实现

    场景 什么是socket 在计算机通信领域,socket 被翻译为"套接字",它是计算机之间进行通信的一种约定或一种方式.通过 socket 这种约定,一台计算机可以接收其他计算机 ...

  5. java开源即时通讯软件服务端openfire源码构建

    java开源即时通讯软件服务端openfire源码构建 本文使用最新的openfire主干代码为例,讲解了如何搭建一个openfire开源开发环境,正在实现自己写java聊天软件: 编译环境搭建 调试 ...

  6. java 32位授权码_Java实现OAuth2.0授权码方式

    Java实现OAuth2.0授权码方式 前面介绍了OAuth2.0和授权方式,可以参考以下文章: 今天就用Java来验证OAuth2.0授权方式的授权码式,我们Spring Cloud的OAuth来实 ...

  7. Java微信公众平台开发(十六)--微信网页授权(OAuth2.0授权)获取用户基本信息

    转自:http://www.cuiyongzhi.com/post/78.html 好长时间没有写文章了,主要是最近的工作和生活上的事情比较多而且繁琐,其实到现在我依然还是感觉有些迷茫,最后还是决定静 ...

  8. 微信企业号OAuth2.0授权-Java

    为什么80%的码农都做不了架构师?>>>    我也是醉了,中午做个饭这么难吃!连自己都看不下去了!怀着沉重的心情把微信企业号OAuth2.0授权看了看,感觉与公众号差别没什么,相信 ...

  9. 服务端关闭session的重要性

    原因如下: 如果你的站点是一个每日请求上百万级规模的接口服务, 每一次请求(这里应该是没有携带cookie的请求)都会在服务端产生一个session会话,也就是一个小文件. 一般而言,php的sess ...

最新文章

  1. pandas学习之Series结构
  2. 听说你们找我很久了?
  3. ArcGIS中的坐标系定义与转换 (转载)
  4. 使用popwindow制作弹出框与获得焦点弹出软键盘
  5. DBA遇到问题时的30 个反应,你是哪一种?
  6. spring 14-Spring框架JDBC操作
  7. 星尘小组第十一周翻译-设计和优化索引
  8. 用R命令看一下各个寄存器的设置情况
  9. linux中ssh启动init,Linux系统上SSH无法启动
  10. 关于身份证校验算法的一些想法
  11. 如何在 macOS 上安装Axure RP
  12. 线阵相机与面阵相机的区别在哪里?
  13. PPT学习整理(四)表格
  14. 达梦数据库大小写这个参数敏感怎样设置
  15. 超大图片的储存/处理/显示
  16. 中科院软件所的毕业去向(硕+博)
  17. java解析XML saxReader.read(xml) 错误:org.dom4j.DocumentException: no protocol
  18. 手机维修刷机专业论坛:天目通移动维修论坛
  19. Java安装方法(详细)
  20. JavaScript之for循环、while循环 continue、break与代码规范

热门文章

  1. 【OpenCV 4开发详解】边缘检测原理
  2. 最小邮票数(01背包)
  3. 网购时碰到这种卖家操作,一定要记得,否则损失很大
  4. hadoop2 自定义OutputFormat场景杂记
  5. Django快速开发之投票系统
  6. 深入理解JavaScript系列(23):JavaScript与DOM(上)——也适用于新手
  7. java使用HttpClient传输json格式的参数
  8. 大丈夫不可一日无权啊!——项目经理的误区(转)
  9. Command模式的实践
  10. html 表格自动计算,HTML表格中的JavaScript计算