热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

简述session

1.Session概述*session是服务器端技术*服务器在运行时可以为每一个用户的浏览器创建一个其独享的session对象*由于session为用户浏览器独享,所

1.Session概述

* session是服务器端技术* 服务器在运行时可以为每一个用户的浏览器创建一个其独享的session对象* 由于session为用户浏览器独享,所以用户在访问服务器的web资源时,可以把各自的数据放在各自的session中* 当用户再去访问服务器中的其它web资源时,其它web资源再从用户各自的session中取出数据为用户服务* session也是基于COOKIE技术的,传递是session的id值

2.Session对象的API

* void setAttribute(String name, Object value)
* Object getAttribute(String name)
* void removeAttribute(String name)
* String getId() -- session的空间有唯一的id值,获取该id值的。
* void invalidate() -- 销毁session对象
* ServletContext getServletContext() -- 获取ServletContext域对象

 3.使用request对象来获取到session的对象

* request.getSession() -- 返回HttpSession对象,第一次调用,为你创建session对象(空间)

4.Session的创建和销毁

session对象的创建

* 针对是每个用户的浏览器,为每一个浏览器都创建一个独享的session的对象。* request.getSession() -- 该方法可以创建session的对象,但是也可以来获取到session对象* 根据COOKIE对象中是否有jsessionid的COOKIE,如果有,通过id值查找,找到了不用创建了,返回。如果没有找到,创建一个新的session对象。

session对象的销毁

* 关闭服务器销毁session* 非正常的原因关闭服务器,销毁session* 如果正常关闭服务器,session会被序列化到磁盘上。

* 配置session的默认销毁时间,默认值是30分钟* 在tomcat/conf/web.xml文件中设置了session默认超时时间30

* 设置session最大的存活的时间

* void setMaxInactiveInterval(int interval)

* 直接使用方法,销毁session* invalidate();

5.Session域对象

5.1.session的域对象

* 作用:用来传递数据
* 区别:每个域对象的存活时间不同!!

5.2.方法

* void setAttribute(String name, Object value)
* Object getAttribute(String name)
* void removeAttribute(String name)

5.3.域对象(3个域对象最重要的)

* request -- 真实对象HttpServletRequest* 代表的是一次请求的范围* 在服务器端给客户度传递一些提示的信息和查询的数据* session -- 真实对象HttpSession* 代表的是一次会话的范围(可以发送多次请求和得到多次响应)* 保存的都是和每个用户相关的数据(登录后需要把用户的信息,购买商品需要保存起来)


* application -- 真实对象ServletContext* 代表的是一个WEB应用* 保存全局共享的数据

 

转:https://www.cnblogs.com/yadongliang/p/6232891.html



推荐阅读
  • spring boot使用jetty无法启动 ... [详细]
  • Asynchronous JavaScript and XML (AJAX) 的流行很大程度上得益于 Google 在其产品如 Google Suggest 和 Google Maps 中的应用。本文将深入探讨 AJAX 在 .NET 环境下的工作原理及其实现方法。 ... [详细]
  • Python3爬虫入门:pyspider的基本使用[python爬虫入门]
    Python学习网有大量免费的Python入门教程,欢迎大家来学习。本文主要通过爬取去哪儿网的旅游攻略来给大家介绍pyspid ... [详细]
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • 本文探讨了如何通过优化 DOM 操作来提升 JavaScript 的性能,包括使用 `createElement` 函数、动画元素、理解重绘事件及处理鼠标滚动事件等关键主题。 ... [详细]
  • Hibernate全自动全映射ORM框架,旨在消除sql,是一个持久层的ORM框架1)、基础概念DAO(DataAccessorOb ... [详细]
  • MITM(中间人攻击)原理及防范初探(二)
    上一篇文章MITM(中间人攻击)原理及防范初探(一)给大家介绍了利用ettercap进行arp欺骗及劫持明文口令,后来我发现好友rootoorotor的文章介绍比我写的更透彻,所以基础利用大家可以参看 ... [详细]
  • Fiddler 安装与配置指南
    本文详细介绍了Fiddler的安装步骤及配置方法,旨在帮助用户顺利抓取用户Token。文章还涵盖了一些常见问题的解决方案,以确保安装过程顺利。 ... [详细]
  • 为何Compose与Swarm之后仍有Kubernetes的诞生?
    探讨在已有Compose和Swarm的情况下,Kubernetes是如何以其独特的设计理念和技术优势脱颖而出,成为容器编排领域的领航者。 ... [详细]
  • Zabbix自定义监控与邮件告警配置实践
    本文详细介绍了如何在Zabbix中添加自定义监控项目,配置邮件告警功能,并解决测试告警时遇到的邮件不发送问题。 ... [详细]
  • 在使用 Nginx 作为服务器时,发现 Chrome 能正确从缓存中读取 CSS 和 JS 文件,而 Firefox 却无法有效利用缓存,导致加载速度显著变慢。 ... [详细]
  • 本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ... [详细]
  • CRZ.im:一款极简的网址缩短服务及其安装指南
    本文介绍了一款名为CRZ.im的极简网址缩短服务,该服务采用PHP和SQLite开发,体积小巧,约10KB。本文还提供了详细的安装步骤,包括环境配置、域名解析及Nginx伪静态设置。 ... [详细]
  • 解决PHP项目在服务器无法抓取远程网页内容的问题
    本文探讨了在使用PHP进行后端开发时,遇到的一个常见问题:即在本地环境中能够正常通过CURL获取远程网页内容,但在服务器上却无法实现。我们将分析可能的原因并提供解决方案。 ... [详细]
  • 问题场景用Java进行web开发过程当中,当遇到很多很多个字段的实体时,最苦恼的莫过于编辑字段的查看和修改界面,发现2个页面存在很多重复信息,能不能写一遍?有没有轮子用都不如自己造。解决方式笔者根据自 ... [详细]
author-avatar
赵_文赞
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有