Day_06_Cookie+Session

  • 会话技术
1、从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,成为一次会话。
2、Cookie:数据存储在客户端本地
3、Session:将数据存储到服务器端
  • Cookie
1、Cookie技术是将用户的数据存储到客户端的技术
2、Cookie cookie = new Cookie(String cookieName,String cookieValue);//不能有中文,且为会话级别
3、cookie.setMaxAge(int seconds);//设置Cookie在客户端的持久化时间
4、cookie.setPath(String path);
//如果不设置携带路径,那么该cookie信息会在访问产生该cookie的web资源所在的路径都携带cookie信息
//示例:
//cookie.setPath("/WEB");
//代表访问WEB应用中的任何资源都携带cookie
//cookie.setPath("/WEB/cookieServlet");
//代表访问WEB中的cookieServlet时才携带cookie信息
5、删除客户端的cookie
//如果想删除客户端的已经存储的cookie信息,那么就使用同名同路径的持久化时间为0的cookie进行覆盖即可
6、接受Cookie
//a、通过request获得所有的Cookie:
//Cookie[] cookies = request.getCookies();
//b、遍历Cookie数组,通过Cookie的名称获得我们想要的Cookie
//for(Cookie cookie : cookies){
//    if(cookie.getName().equal(cookieName)){
//        String cookieValue = cookie.getValue();
//    }
//}
  • Session技术
1、Session的实现是基于Cookie,Session需要借助于Cookie存储客户的唯一性标识JSESSIONID
2、HttpSession session = request.getSession();
//如果服务器端没有该会话的Session对象会创建一个新的Session返回,如果已经有了属于该会话的Session直接将已有的Session返回
3、向session中存取数据(session也是一个域对象)
//session.setAttribute(String name,Object obj);
//session.getAttribute(String name);
//session.removeAttribute(String name);
4、生命周期
//创建:第一次执行request.getSession()时创建
//销毁:
//1)服务器(非正常)关闭时
//2)session过期/失效(默认30分钟)
//问题:时间的起算点 从何时开始计算30分钟?
//从不操作服务器端的资源开始计时
//可以在工程的web.xml中进行配置
//<session-config>
//       <session-timeout>30</session-timeout>
//</session-config>
//3)手动销毁session
//session.invalidate();
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景在HTTP协议的定义中,采用了一种机制来记录客户端和服务器端交互的信息,这种机制被称为cookie,cooki...
    时芥蓝阅读 2,381评论 1 17
  • 1. cookie 1.1 什么是cookie cookie 是存储于访问者的计算机中的变量。每当同一台计算机通过...
    cbw100阅读 4,090评论 0 13
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,360评论 11 349
  • 写在前面 cookie和session的区别: 1、cookie数据存放在客户的浏览器上,session数据放在服...
    Pitfalls阅读 1,533评论 0 17
  • 13 年曾辞职骑过滇藏,其后也读过古子文的《深入藏地十万公里》与《艽野尘梦》,对西藏也算是有一定了解。加之本身对宗...
    86棵梦阅读 583评论 0 1