session知识总结
0.什么是会话?
- 简单理解:打开浏览器到关闭浏览器过程中的操作、请求。
1.Session是什么?
- session是HttpSession的简称;
- 用于保存会话状态;
- 将会话状态保存在服务器端;
- Tomcat实现HttpSession的完整类名及引用:org.apache.catalina.session.StandardSessionFacade@1524e17
2.Session是用户级别的对象。
- 在一次会话过程中,web服务器为用户维护着一个会话对象。
- 在web容器中,存储着一个session列表。
3.为什么当前会话中的每一次请求都可以拿到自己的会话对象?
- 服务器响应浏览器第一次请求的时候,会创建一个session对象,同事向浏览器发送一个Cookie;
- 浏览器再次发出请求的时候,当服务器接收到该Cookie,则判断为是同一次会话。
- Set-Cookie:"JSESSIONID=B6416390E900458658B696659B5CD92B; Path=/prj-session/; HttpOnly"
- Cookie的关联路径:Path=/prj-session/;
- 这个特殊的Cookie名字是JSESSIONID,value是一个32位长度的字符串;
- 当浏览器再次发送请求,将缓存中的Cookie发送到服务器,服务器端获取Cookie后进行验证;
- 当浏览器关闭之后,这个session对象将被销毁。
4.Cookie被禁用之后怎么办?
- 重写URL:URL;JSESSIONID=B6416390E900458658B696659B5CD92B
5.Seesion对象在什么时候被销毁?
- web服务器中引入session超时的概念;
- 当很长一段时间(这个时间可以设置)session不再被使用时,session将自动销毁
- 设置方法如下:
6.一次会话的含义:
- session对象的创建到session对象的销毁,是一次完整意义的会话。
7.HttpSession中常用的方法:
- Object getAttribute(String name)
- void removeAttribute(String name)
- void setAttribute(String name, Object value)
- void invalidate()
8.范围对象对比:
- ServletContext、HttpSession、HttpServletRequest接口
- ServletContext是应用级别对象;
- HttpSession是会话级别对象;
- HttpServletRequest是请求级别的对象;
- ServletContext在整个应用程序级别共享数据,HttpSession跨请求共享数据,HttpServletRequest
跨Servlet共享数据。
session知识总结的更多相关文章
- Django实现cookie&session以及认证系统
COOKIE&SESSION 知识储备 由于http协议无法保持状态,但实际情况,我们却又需要“保持状态”,因此cookie就是在这样一个场景下诞生. cookie的工作原理是:由服务器产生内 ...
- haproxy有关session的问题
在实验的时候遇到一个问题就是当我登录网站的时候,然后我再刷新一下,用户的状态就退出了 我现在的框架是这样的,前面有一台haproxy作为反向代理,后面有两台服务器跑的是java应用.后面两台服务器做的 ...
- cookie和session的介绍
1.cookie和session cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要“保持状态”,因此产生cookie. cookie的工作原理是:由服务器产生 ...
- session的两个小案例
学完了session,写两个小案例加深一下对session的巩固. 1. 用户登陆案例 登陆html页面提交后,将参数带给处理登陆的servlet,该servlet将获得登陆的用户名和密码,并将这些信 ...
- Flask框架【七】—session组件详解
一.flask session简介 flask中session组件可分为内置的session组件还有第三方flask-session组件,内置的session组件缺点: 功能单一 session是保存 ...
- centos之Haproxy 负载均衡学习笔记
HAProxy的特点是:1.支持两种代理模式:TCP(四层)和HTTP(七层),支持虚拟主机:2.能够补充Nginx的一些缺点比如Session的保持,Cookie的引导等工作3.支持url检测后端的 ...
- PythonWEB框架之Tornado
前言 Tornado(龙卷风)和Django一样是Python中比较主流的web框架,Tornado 和现在的主流 Web 服务器框架也有着明显的区别:Tornado自带socket,并且实现了异步非 ...
- Haproxy的三种保持客户端会话保持方式
2017-03-25 15:41:41 haproxy 三种保持客户端Seesion; 一.源地址hash(用户IP识别) haroxy 将用户IP经过hash计算后 指定到固定的真实服务器上(类 ...
- haproxy 安装与配置
一. Haproxy 介绍 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.根据官方数据,其最高极限支持10G的并发.HAP ...
随机推荐
- KeychainItemWrapper的使用
KeychinaItemWrapper官方Demo下载地址KeychinaItemWrapper. NSString *identifier = @"xxxxxx";//你要使用的 ...
- javascript中构造StringBuffer实例
function StringBuffer(){ this.strings = new Array; } StringBuffer.prototype.append=function ...
- Unity利用Sapi进行windows语音开发
软件中的语音技术主要包含两种:语音识别speech recognition和语音合成speech synthesis.一般地,开发者会因为技术实力和资金实力等各方面的问题无力完成专业的语音引擎,因此通 ...
- 自己写的一个 java swing 的闹钟
上一周新入职,把代码down下来之后,领导和我讲了一些大概的业务以及代码流程(领导是技术出身),领导让我自己先看看代码,然后我看了两天,觉得已经完全可以接任务了,但是领导却迟迟没有分配任务给我,虽然他 ...
- 【Electron】Electron开发入门(二):创建项目Hello Word
创建简单的Electron程序 1.首先,切换到你的项目空间,我的在 D:\ProjectsSpace\ElectronProjects\ElectronTest,ElectronTest是案例项目文 ...
- Java进阶之内存管理与垃圾回收
Java是在JVM所虚拟出的内存环境中运行的.内存分为栈(stack)和堆(heap)两部分.我们将分别考察这两个区域. 栈 在Java中,JVM中的栈记录了线程的方法调用.每个线程拥有一个栈.在某个 ...
- poptest老李谈数据库优化总结
poptest老李谈数据库优化总结 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:9088 ...
- Zookeeper的安装和初步使用
1. Zookeeper集群角色 Zookeeper集群的角色: Leader 和 follower (Observer) zk集群最好配成奇数个节点 只要集群中有半数以上节点存活,集群就能提供 ...
- 转接口IC ADV7280/ADV7280-M:CVBS转MIPI转接口芯片 10位、4倍过采样标清电视视频解码器,支持去隔行
概述ADV7280/ADV7280-M是功能丰富的单芯片.多格式视频解码器.ADV7280/ADV7280-M可自动检测标准模拟基带视频信号,兼容复合.S视频和分量视频形式的NTSC.PAL和SECA ...
- 让TextView里面的文字逐个显示的动画效果实现(1)
最近使用TextView时想要实现里面的文字逐个显示的动画效果,就如同打字一样. 主要实现思想:新建一个TextView的派生类,先将要逐个显示的字符串保存变量 mOriginalStr 中,然后启动 ...