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 ...
随机推荐
- Servlet+jsp的分页案例
查询的分页,在web中经常用到.一般,分页要维护的信息很多,我们把这些相关的信息,分装到一个类中,PageBean.具体如下: package cn.itcast.utils; import java ...
- spring boot gradle build:bootRepackage failed
When running 'gradle clean build' on my spring boot project (version 1.3.6.RELEASE) on windows 10 (a ...
- JavaScript入门必备
1.JavaScript和Java没有关系,JavaScript是一门(客服端)脚本语言,并且是一个解释性语言. 2.添加JavaScript的方法 (1)内联:通过<script>js代 ...
- YII contoller控制器之间跳转的方法redirect
一个contoller CustomerController里怎么调用另一个controller里的action,Acontoller调用SiteContoller的actionShow($id), ...
- 单发邮箱 群发邮箱 程序 Email winform
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...
- 【原】Linux设备网络硬件管理
遇到网络问题时候,一般情况下,我们第一反应是查找软件方面问题,但排查之后,软件没有问题的时候,我们就需要排查硬件方面工作是否正常. 我们可能需要查询网卡设备本身的状态,查询网卡是否有数据包发送接收: ...
- bootstrap使用模板
Bootstrap下载地址: - https://github.com/twbs/bootstrap/releases/download/v3.3.6/bootstrap-3.3.6-dist.zip ...
- 【C语言】模拟实现printf函数(可变参数)
一.printf函数介绍 printf功能 printf函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息. printf原型 int printf( const char* format ...
- js获取url中的参数方法
直接调用函数即可,函数如下: function getURLParam(name) { return decodeURIComponent((new RegExp('[?|&]' + name ...
- Linux批量清理多个文件内容而不删除文件
清理单个文件,可以这样:echo > myLog.log 但是,如果我要清理一堆文件,比如在/logs目录下面的所有以.log结尾的文件的内容,而不删除文件,该如何操作呢? 我一开始的语句是这样 ...