Session的使用与Session共享问题

Session方法

getId():获取sessionId,这个id不一定是数字,比方说它用字符串来表示唯一标识,所以它返回值是String;

boolean isNew(),判断是否是新用户(第一次访问),返回值类型是boolean类型,true或false;

void invalidate()使session失效(退出登录、注销)

void setMaxInactiveInterval(秒),设置最大有效 非活动时间【比如登录一个网页后停留至此你什么也不操作,时间久了你再进行操作时就会让你重新登录】

int gettMaxInactiveInterval(秒),查看我设置的是多长时间

Session的使用

假设我们现在访问京东,这个时候可以想一下,到底什么时候它才给你分配session的呢?肯定是在你登录之后才能记录你的用户名密码,所以我们需要在给这个用户分配session之前,给他加一个屏障,这个屏障作用就是必须登录成功之后我才能给你分配一个session并响应给你一个JSESSIONID来存储信息,不成功我照样不给你分配。

在登录成功后,我们调用session.setAttribute()方法来把用户信息存到session里:

登录成功后,我们将接收来的值存入记录在session里;

我登录成功给你一个session,给完之后,我就给你跳到一个欢迎页上,这里我就用重定向;

现在我们进入welcome.jsp中进行操作,我们进入这个页面后需要欢迎张三,我们就用session.getAttribut方法来获取uname。

因为返回值是object类型,所以我们需要强制类型转换;

但是有没有想过,如果用户直接访问欢迎页,没有经过登录怎么办?

很简单,如果登录成功两,session必然是有值的,如果没有登录直接访问欢迎页,必然是null也就是空,在这里判断即可,如果为空,就跳回登录页:

session是一次会话,在一次会话内,是一直有效的,我现在再建一个a.jsp,直接写session.getAttribut获取改值,是可以的,但是换一个浏览器访问a.jsp,就不可以了;

只要你是同一个浏览器,你的session是共享的,都不需要再进行登录。

session失效

在欢迎页往往都有一个注销,我们就来看一下,怎么让中国session手动失效:

session.invalidate();//session失效方法:

今日感悟:

很多父母或者年轻人找工作细化追求一份“铁饭碗”,

认为稳定最重要,

但在这个世界上,唯一不变的铁律就是变化,

不管是公务员,还是国企,都只有靠能力,在岗位上才能站稳脚,

什么是真正的铁饭碗?

铁饭碗绝不是在一个单位干一辈子,

而是到了那儿,你都有饭吃,荒年饿不死手艺人,能力才是硬道理!

Session的使用与Session共享问题的更多相关文章

  1. Spring Session + Redis实现分布式Session共享

    发表于 2016-09-29 文章目录 1. Maven依赖 2. 配置Filter 3. Spring配置文件 4. 解决Redis云服务Unable to configure Redis to k ...

  2. springboot+spring session+redis+nginx实现session共享和负载均衡

    环境 centos7. jdk1.8.nginx.redis.springboot 1.5.8.RELEASE session共享 添加spring session和redis依赖 <depen ...

  3. 【荐】PHP Session和Cookie,Session阻塞,Session垃圾回收,Redis共享Session,不推荐Memcached保存Session

    什么是 Session 在 web 应用开发中,Session 被称为会话.主要被用于保存某个访问者的数据. 由于 HTTP 无状态的特点,服务端是不会记住客户端的,对服务端来说,每一个请求都是全新的 ...

  4. 客户端session与服务端session

    会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端 ...

  5. 会话Cookie及session的关系(Cookie & Session)

    会话Cookie及session的关系(Cookie & Session) 在通常的使用中,我们只知道session信息是存放在服务器端,而cookie是存放在客户端.但服务器如何使用sess ...

  6. 转:客户端session与服务端session

    会话(Session)跟踪是Web程序中常用的技术,用来 跟踪用户的整个会话 .常用的会话跟踪技术是Cookie与Session. Cookie通过在客户端记录信息确定用户身份 , Session通过 ...

  7. Session与Cookie(自定义Session)

    一.会话管理 会话管理: 管理浏览器客户端 和 服务器端之间会话过程中产生的会话数据. 域对象: 实现资源之间的数据共享. request域对象 context域对象 会话技术: Cookie技术:会 ...

  8. 黏性Session和非黏性Session

    黏性Session和非黏性Session黏性Session:此模式下同一会话中的请求都被派送到同一个tomcat实例上,这样我们就无须在多台服务器之间实现session共享了,这是其好处,不好的地方就 ...

  9. Session的使用与Session的生命周期

    1.HttpSession的方法 Object getAttribute(String); Enumeration<String> getAttributeNames(); long ge ...

随机推荐

  1. 6种基础排序算法java源码+图文解析[面试宝典]

    一.概述 作为一个合格的程序员,算法是必备技能,特此总结6大基础算法.java版强烈推荐<算法第四版>非常适合入手,所有算法网上可以找到源码下载. PS:本文讲解算法分三步:1.思想2.图 ...

  2. kmspico_setup.exe运行提示系统资源不足,无法完成请求的服务

    在使用KMSpico激活office时,windows下运行exe会提示系统资源不足,无法完成请求的服务. 我的解决方法是:卸载电脑上的wps...

  3. Java IO--字符流--BufferedReader和BufferedWriter

    从昨天开始没事情干时,决定梳理梳理Java IO流,因为觉得太混乱这个东西,妈的,咋就这么多类型,想累死谁啊,这里并不是埋怨创造者,而是气自己看着看着老跑偏,实在看不进去,太多了,想睡觉,所以现在决定 ...

  4. 小程序 表单 获取 formId

    微信小程序使用模板消息需要使用支付prepay_id或表单提交formId, 要获得 formId 需要在 form 标签中声明属性    report-submit="true" ...

  5. android使用.9图作为背景,内容不能居中的问题解决方案

    在xml中使用.9图作为背景,内容不能居中,试了好多方法最后,加一个属性就ok了. android:padding:0dip; 解析:.9图作为背景时,不可拉伸的部分就相当于该空间的padding距离 ...

  6. .Net Core 权限验证与授权(AuthorizeFilter、ActionFilterAttribute)

    在.Net Core 中使用AuthorizeFilter或者ActionFilterAttribute来实现登录权限验证和授权 一.AuthorizeFilter 新建授权类AllowAnonymo ...

  7. RabbitMQ 消息队列 入门 第二章(交换类型fanout)

    1.安装完 RabbitMQ 之后,我们可以点击  http://localhost:15672/#/  默认账号:guest  密码: guest  在这上面我们可以查看执行情况.管理连接.管理队列 ...

  8. MOCK API 的定义及实践(使用eolinker实现)

    MOCK API 的定义 根据百度百科的定义,mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法.这个虚拟的对象就是mock对象,mock对 ...

  9. 数据结构与算法(十):红黑树与TreeMap详细解析

    本文目录 一.为什么要创建红黑树这种数据结构 在上篇我们了解了AVL树,既然已经有了AVL这种平衡的二叉排序树,为什么还要有红黑树呢? AVL树通过定义我们知道要求树中每一个结点的左右子树高度差的绝对 ...

  10. C#操作符??,?,?:功能解析

    ??操作符:叫做空合并操作符,它会对左右两个操作数进行判断,如果左边的数不为空,就返回左边的数,否则返回右边的数. ?操作符:语法糖,表示可空类型,可空类型也是值类型,它是包含null值的值类型,可通 ...