文档章节

request.getSession(boolean create)的正确使用姿势

haoran_10
 haoran_10
发布于 2016/07/15 16:44
字数 295
阅读 22
收藏 0

#程序员薪资揭榜#你做程序员几年了?月薪多少?发量还在么?>>>

javax.servlet.http.HttpServletRequest 中有一个创建session会话的方法

 

/**
 * 如果create设置true,返回当前的HttpSession,如果没有会话,创建一个新的会话
 * 如果create设置false,如果当前有会话那就返回,如果没有会话,就返回null
 */
public HttpSession getSession(boolean create);

/**
 * 等同于getSession(true);
 */
public HttpSession getSession();

 

使用要点:

1、创建会话场景

这种逻辑放在登陆、授权业务中,用户登陆成功之后,自然而然的需要保持用户当前的访问会话。

此时使用getSession(true),或者getSession(),然后session可以放入具体的attribute,更详细描述当前用户会话信息。

 

2、查找当前会话

如果我们当前逻辑需要查找会话,如果会话为空,直接抛出会话不存在,权限不足的信息。

这时使用getSession(false),即查找当前的会话,没有会话就是返回为空。避免了使用getSession()又会创建一次多余的没有经过授权的会话。

使用getSession(false)得到当前session之后,再进一步获取当前的attribute,做下一步业务处理。

 

 

全文完。

© 著作权归作者所有

haoran_10
粉丝 27
博文 89
码字总数 82446
作品 0
杭州
程序员
私信 提问
加载中

评论(0)

request.getSession()几种获取情况之间的差异

一、三种情况如下 HttpSession session = request.getSession(); HttpSession session = request.getSession(true); HttpSession session = request.getSession(false); 二、三种情况之间的差......

osc_flhsyn6i
2019/04/11
4
0
request.getSession(true/false)的区别

【原文链接】:https://blog.tecchen.tech ,博文同步发布到博客园。由于精力有限,对文章的更新可能不能及时同步,请点击上面的原文链接访问最新内容。欢迎访问我的个人网站:https://www.t...

osc_7cexpmnb
2019/04/01
2
0
java getSession

本文属于本人原创,转载请注明出处:http://blog.csdn.net/xxd851116/archive/2009/06/25/4296866.aspx 【前面的话】 在网上经常看到有人对request.getSession(false)提出疑问,我第一次也很...

Oscarfff
2016/02/16
61
0
对request.getSession(false)的理解(附程序员常疏忽的一个漏洞)

转自:http://blog.csdn.net/xxd851116/article/details/4296866 【前面的话】 在网上经常看到有人对request.getSession(false)提出疑问,我第一次也很迷惑,看了一下J2EE1.3 API,看一下官网...

挨踢人生
2014/05/26
0
0
SpringBoot 系列教程之声明式事务 Transactional

200119-SpringBoot 系列教程之声明式事务 Transactional 当我们希望一组操作,要么都成功,要么都失败时,往往会考虑利用事务来实现这一点;之前介绍的 db 操作,主要在于单表的 CURD,本文将...

小灰灰Blog
01/20
1.4K
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周五乱弹 —— 头发和不要头发,你总要选一个

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @薛定谔的兄弟 :分享洛神有语创建的歌单「我喜欢的音乐」: 《雾 缀じた街 ふたつのかげ》- Porkkana 手机党少年们想听歌,请使劲儿戳(这里)...

小小编辑
今天
35
0
一道 算法题 引发的 ‘xx现场’

请 熟悉的语言 去 验证 在输入框中输入的是否是一个正确的网址 初次读题萌新有点 不知所措的样子一查 MDN 吓一跳 ----- 一个不怎么熟悉的方法跳出眼边URL() 构造函数返回一个新创建的 ...

酒窝yun过去了
今天
19
0
如何检查jQuery中是否已选中复选框? - How to check whether a checkbox is checked in jQuery?

问题: I need to check the checked property of a checkbox and perform an action based on the checked property using jQuery. 我需要检查复选框的checked属性,并使用jQuery根据check......

技术盛宴
今天
12
0
mongoose 使用

http://www.mongoosejs.net/ 编写MongoDB验证,转换和业务逻辑是非常麻烦的. 所以Mongoose应运而生了. const mongoose = require('mongoose');mongoose.connect('mongodb://localhost/te......

东东笔记
今天
22
0
微服务

什么是微服务? 使用一套小服务来开发单个应用的方式,每个服务运行在独立的进程里,一般采用轻量级的通讯机制互联,并且他们可以通过自动化的方式部署。 微服务的特征 单一职责 轻量级通信 ...

鸿FW
今天
23
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部