2016.9.13 会话学习

---恢复内容开始---

会话

打开浏览器访问网站,直至关闭网站为止,所流程被称为会话

cookie

属于客户端技术,把响应的客户端的资源进行存储 只能存字符串

cookie是放在响应头里发送给浏览器

浏览器支持每个服务端20个cookie,共300个 每个cookie 4k大小

实现记录客户端访问的最后时间

1得到客户端所有的cookie

reponse.setContetType("text/html;charset=utf-8");

PrintWriter pw= reponse.getWriter();

Cookie [] cookies=resques.getCookies();

2从cookie中找出存储最后登陆时间的cookie

if (cookies!=null)

{

  for(int i=0;i<cookies.length;i++)//cookie 是一个键值对,都是String类型的

{         String   name = cookies[i].getName();   //得到cookie的名字

if("lastAccessTime".equals(name))

String value =cookies[i].getValue(); value此时的值是毫秒数的

pw.wirte( new simpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date( long.parseLong(time))));//时间格式化

}

}

把这次登陆时间以cookie的形式发送的客户端

Cookie cookie= new Cookie("lastAccessTime",system.currentTimeMillis()+""); 必须是字符串类型的

把cookie发送给客户端

reponse.addCookie(cookie);

cookie 默认存储在浏览器的内存,浏览器一旦关闭,就会将所存储的缓存清除

使用setMaxAge 设置cookie存活时间,默认单位是秒

setMaxAge(-1)默认为-1 会话结束时删除

0的时候为不保存cookie

正数 为生命周期时间

满足什么条件客户端会带着cookie发给服务器端。

1被访问的资源路径,前段要匹配。

cookie.setPath(request.getContextPath());

session

一个客户端对应一个session,同一个会话中只有一个session对象

setAttribute()  getAttribute() 实现session的存储

在服务器端的一个技术,session可以存对象

session.setMaxInactiveInterval(10);//设置非活动时间   10s自动销毁;

request.getSession(true);存在session使用存在的,不存在会创建新的;

request.getSession(false);存在session使用存在的 不存在也不会创建。

时间: 2024-08-10 02:03:08

2016.9.13 会话学习的相关文章

2016/01/13开始学习git:管理修改、撤销修改

一.管理修改 第一次修改readme.txt       : 增加一行Git tracks changes. 添加readme.txt                :       git add readme.txt 第二次修改readme.txt        : 修改Git tracks changes.为Git tracks changes of files. 提交readme.txt                :     git commit -m "git tracks chan

2016/01/13开始学习git:删除文件

1.在E:\learngit\文件夹(工作区)下删除file1.txt文件 rm file1.txt git status 查看库状态会有提示: deleted:    file1.txt 2.如果想要删除库里边的file1.txt $ git rm file1.txtrm 'file1.txt' $ git commit -m "remove file1.txt"[master f9bc4cf] remove file1.txt 1 file changed, 0 insertion

2016/01/13开始学习git:远程仓库

//github 我的163邮箱注册的 第1步:创建SSH Key.在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件, 如果已经有了,可直接跳到下一步.如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key: $ ssh-keygen -t rsa -C "[email protected]" 你需要把邮件地址换成你自己的邮件地址(Git的邮箱地址),然后一路回车,使用默认值即可,由于这个K

2016/01/13开始学习git:分支管理:解决冲突

创建新分支,commit后:切换回master分支,再次commit:Git此时无法快速合并. 可以git status找到冲突的文件readme.txt, 查看并修改,然后再次提交 1.创建新分支feature1,新增readme.txt的内容,然后add和commit git checkout -b feature1修改readme.txt最后一行,改为:Creating a new branch is quick AND simple.git add readme.txt git comm

2016年5月份学习记录

                             2016年5月份学习记录 学c++都快5个月了,连一篇完整的学习记录都没写过,今天突发奇想(其实本来就应该写),就写了这么一篇学习记录(呵呵). 最近几天,一会不是写解题报告,就是做poj,有时玩会自己编(参考了别人代码的)的2048,页面做的还不错,还做coj.都快忙不过来了.最近又翻出一本叫<数据结构>的书,是清华大学的邓俊辉老师写的,很详细,还有示意图,很不错的书.准备“啃”个三四遍,反正一周“啃”完一次,课间也在那儿拼命地看,自

2016年大学生研究性学习和创新性实验计划项目 我的项目 :二维码数据反馈系统 第四周作业

参加软件班后介于一直没有实训的机会,感觉自己应该主动找点项目,提升自己的技术水平,这次在老师和同学的帮助下参加了2016年大学生研究性学习和创新性实验计划项目: 下面是我参与的项目的一些简介: 项目名:二维码数据反馈系统    简述:二维码具有面积小,信息容量大,安全性高,读取率高,纠错能力强等优点,不仅能够存储足够的物品信息,还具有抗干扰能力强.运用环境适应性好.使用成本低廉等优点, 现今成为各种产品  防伪的首要选择.        项目的创新点和特色 :传统的生产厂商通过条形码来记录商品信

20145239 《信息安全系统设计基础》第13周学习总结

20145239 <信息安全系统设计基础>第13周学习总结 本周代码实践 hello_multi.c 先打印world换行打印hello,间隔1秒再打印相同内容,一共打印5次,最后输出t1,t2 finished hello_multi1.c hello_single.c 打印一个hello,之后每间隔1秒打印一 个hello,共5个:然后打印一个world并换行,之后每间隔1秒打印一个world,共5个 incprint.c 在屏幕上换行输出count=1,2,3,4,5,间隔1秒 twor

2017-2018-1 20155314 《信息安全系统设计基础》第13周学习总结

2017-2018-1 20155314 <信息安全系统设计基础>第13周学习总结 学习目标 找出全书你认为最重要的一章,深入重新学习一下,要求(期末占10分): 完成这一章所有习题 详细总结本章要点 给你的结对学习搭档讲解你的总结并获取反馈 第6章学习要点: 了解常见的存储技术(RAM.ROM.磁盘.固态硬盘等) 理解局部性原理 理解缓存思想 理解局部性原理和缓存思想在存储层次结构中的应用 高速缓存的原理和应用 本章要点详细总结 第6章 存储器层次结构 6.1 存储技术 6.1.1 随机访问

2017-2018-1 20155332 《信息安全系统设计基础》第13周学习总结

2017-2018-1 20155332 <信息安全系统设计基础>第13周学习总结 学习目标 找出全书你认为最重要的一章,深入重新学习一下,要求(期末占10分): 完成这一章所有习题 详细总结本章要点 给你的结对学习搭档讲解你的总结并获取反馈 本章知识点总结 我们需要理解基本的客户端-服务端编程模型,以及如何编写使用因特网提供的服务的客户端-服务端程序. 最后,我们将把所有这些概念结合起来,开发一个小的但功能齐全的Web服务器,能够为真实的Web浏览器提供静态的和动态的文本和图形内容. 11.