12Cookie、Session
12Cookie、Session-2018/07/24
- 1.保存会话数据
- cookie客户端技术,把每个用户的数据以cookie的形式写给用户各自的浏览器
- HttpSession服务端技术,服务器运行时为每一个用户的浏览器创建一个独享的HttpSession对象,把数据放在里边
- 2.Cookie(客户端技术,只能存字符串,不安全)
- response接口定义了addCookie方法,用于在响应头增加一个相应的Set-Cookie头字段
- request接口也定义了一个getCookie方法,用于获取客户端提交的Cookie
- 属性:
- name名称不能唯一确定cookie,路径可能不同
- value不能用中文
- path保存同一个路径下的cookie都可以取到,也可以通过setPath设置
- ck.setPath("/");
- ck.setPath(request.getContextPath());
- getMaxAge指定cookie最大的生存空间,-1指示该cookie将保留到浏览器关闭为止
- setMaxAge设置最大生存时间
- MaxAge默认存在浏览器的内存中
- 负数:cookie的数据存在浏览器中
- 0:删除,路径要保持一致(setPath),否则可能删错
- 正数:缓存的时间
- 3.HttpSession(服务器端的技术,可以存对象)
- 同一个会话下,可以使一个应用的多个资源共享数据
- 重要方法
- void setAttribute(String name,Object value);
- Object getAttribute(String name);
- void removeAttribute(String name);
- HttpSession.getId():
- setMaxInactiveInterval(int interval) 设置session的存活时间,以秒为单位,默认30分钟
- invalidate() 使此会话无效
- 4.getSession
- 得到一个HttpSession对象,通过getSession方法
- 内部原理
- 1、获取名称为JSESSIONID的cookie的值。
- 2、没有这样的cookie,创建一个新的HttpSession对象,分配一个唯一的SessionID,并且向客户端写了一个名字为JSESSIONID=sessionID的cookie
- 3、有这样的Cookie,获取cookie的值(即HttpSession对象的值),从服务器的内存中根据ID找那个HttpSession对象;
- 5.session状态
- 类实现Serializable,可序列化,服务器重启后数据还在
- 6.客户端禁用Cookie后的会话数据保存问题
- 客户端禁用cookie:浏览器永远不会向服务器发送cookie的请求消息头
- 方法:URL重写。必须对网站的所有地址都重写。 http://url--->http://url;JSESSIONID=111 response.encodeURL(String url); 看浏览器有没有发送cookie请求消息头,没有就重写URL,有就不重写。 request.getSession();必须写,不需要接收
12Cookie、Session的更多相关文章
- C#-WebForm-★内置对象简介★Request-获取请求对象、Response相应请求对象、Session全局变量(私有)、Cookie全局变量(私有)、Application全局公共变量、ViewState
内置对象: 1.Request - 获取请求对象 用法:接收传值 protected void Page_Load(object sender, EventArgs e) { TextBox1.Tex ...
- 缓存Cookie、session、localStorage的区别
cookie Cookie就是服务器暂存放在你计算机上的一笔资料,好让服务器用来辨认你的计算机.当你在浏览网站的时候,Web服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文 ...
- Nginx+Tomcat+Redis实现负载均衡、资源分离、session共享
Nginx+Tomcat+Redis实现负载均衡.资源分离.session共享 CentOS安装Nginx http://centoscn.com/CentosServer/www/2013/0910 ...
- cookie、session与token
一.详述概念 1.Cookie机制 cookie机制是采用在客户端保持状态的方案(cookie的作用就是为了解决HTTP协议无状态的缺陷所作的努力).cookie的使用是由浏览器按照一定的原则在后台自 ...
- Application、 session、iewstate,以及repeater 的commang用法
Session:在不同的浏览器之间传值,像银行之类的网站为了安全把用户名密码保存在session里面.每一台电脑访问服务器,都会是独立的一套session,key值都一样,但是内容都是不一样的 以 ...
- URL、Session、Cookies、Server.Transfer、Application和跨页面传送,利弊比较
URL.Session.Cookies.Server.Transfer.Application和跨页面传送.-本题考查面试者对ASP.NET中多页面传值的理解是否全面.因为ASP.NET的页面表单提交 ...
- JavaWeb学习之转发和重定向、会话技术:cookie、session、验证码实例、URLConnection使用(下载网页)(4)
1.转发和重定向 HttpServletResponse response 转发: RequestDispatcher dispatcher = request.getRequestDispatche ...
- Kali Linux Web 渗透测试视频教程—第十四课-arp欺骗、嗅探、dns欺骗、session劫持
Kali Linux Web 渗透测试视频教程—第十四课-arp欺骗.嗅探.dns欺骗.session劫持 文/玄魂 目录 Kali Linux Web 渗透测试—第十四课-arp欺骗.嗅探.dns欺 ...
- cookie 、session、JSESSIONID
cookie .session ? 让我们用几个例子来描述一下cookie和session机制之间的区别与联系.笔者曾经常去的一家咖啡店有喝5杯咖啡免费赠一杯咖啡的优惠,然而一次性消费5杯咖啡的机会微 ...
随机推荐
- Lein droid
最近尝试使用Clojure,发现有个Lein droid的项目可以方便的在android下使用Clojure. http://clojure-android.info/#get-started 尝试了 ...
- 混淆时报:Proguard returned with error code 1. See console
发生这个错误是因为打包混淆时找不到我们的引用包,有的人可能说我没有引用什么Library啊,事实上,我们现在的项目创建时就默认有v4包,这是google提供的兼容包,主要为了应对Android3.0以 ...
- vue 目录结构介绍
1 初始目录如下: 2 目录结构介绍 bulid:最终帆布的代码存放位置 config:配置目录,包括端口号等 node_modules:npm加载的项目依赖模块 src:z这里是我们要开发的目录,基 ...
- eclipse maven创建web项目
记录地址 jdk设置及文件包miss 实例下载地址 创建SSM整合项目 一.使用Eclipse中的maven插件创建web项目 1: 2: 3: 4: 5:maven web项目创建成功.(去掉ind ...
- java笔记线程方式1睡眠
public class ThreadSleepDemo { public static void main(String[] args) { ThreadSleep ts1 = new Thread ...
- E20171123-sl
conform vi. 符合; 遵照; 适应环境; vi. 符合; 遵照; 适应环境; adj. 一致的; 顺从的; investigat ...
- bzoj 1626: [Usaco2007 Dec]Building Roads 修建道路【最小生成树】
先把已有的边并查集了,然后MST即可 记得开double #include<iostream> #include<cstdio> #include<algorithm&g ...
- VBNET AutoCAD Activex 切换图层为当前图层失效
最近有朋友询问切换图层的代码 com切换图层 <CommandMethod("mycl")> Public Sub MySubLayerChange() Dim Thi ...
- mydatepicker97 日历控件
官方教程: http://www.my97.net/
- [Usaco2018 Open]Talent Show
Description FarmerJohn要带着他的N头奶牛,方便起见编号为1-N,到农业展览会上去,参加每年的达牛秀!他的第i头奶牛重量为wi,才艺水平为ti,两者都是整数.在到达时,Farmer ...