1、什么是session?
Session对象表示目前个别用户的会话状态,用来识别每个用户。session对象用于存储用户的会话信息。用户在应用程序的web页面之间跳转时,存储在session对象中的变量不会丢失,而是在整个用户会话过程中保存下去。
2、为什么使用session呢?
http协议是一个无状态协议,每个客户机请求被当成独立的事物。简单来说就是,web服务器是不知道现在连接上来的人到底是哪个人,为了满足选择性发送信息的需求,在http的基础上做了很多扩展来达到这个目的,如数字签名、cookie、session等。session可以保存用户的相关登陆资料等信息。跳转页面的时候,服务能根据session的值来判断用户是否登陆,判断用户的权限和其它相关信息等。session在登陆页面中使用,相关于充当了1个临时身份证的作用。
3、Session对象常用到的方法:
//获取session对象
HttpSession session = request.getSession(true);
//在session中存储信息;将用户的信息设置为session对象的属性
session.setAttribute("loginState", "OK");
//获取session中的值
session.getAttribute("loginState");
//移除session中的值
session.removeAttribute("loginState");
//销毁session
session.invalidate();
//操作会话时间
session.setMaxInactiveInterval(1200);//单位为s
session.getMaxInactiveInterval();
//判断是否有新的session
session.isNew();
//获取sessionID
session.getId();
//获取session创建时间
session.getCreationTime();
//获取session最后一次访问时间
session.getLastAccessedTime();
1) getAttribute方法用于获取session作用域里指定属性的值,该值是一个Object了性
public Object getAttribute(String name)//name 获得session属性的名称
2)setAttribute方法用于设置值到指定属性当中
public void setAttribute(String name,Object value)
name:指定设置session属性的名称
value:绑定session属性的name值,该值是一个对象。
3)removeAttribute方法用于移除当前session对象中的属性
4、session的作用范围:
作用域是一个用户会话范围,从session第一次创建到session因超时(一般为30分钟)或者客户端关闭之前,数据会一直存在。session保持时间通常可以通过setMaxUInactiveInterval(lastTime)函数来确定,也可以通过配置web.xml文件来确定:
<session-config>
<session-timeout>10</session-timeout>
</session-config>
5、session工作流程机制:
当一个客户首次方位服务器上的一个jsp或者servlet时,JSP引擎会产生一个session对象,同时分配一个String类型的ID号(即SessionID),JSP引擎同时将这个ID号发送到客户端,存放在Cookie中,这样session对象和客户端就建立了一一对应的关系。当客户再访问连接该服务器的其他页面时,不再分配新的session对象,直到客户浏览器关闭,服务器端的该session对象才取消,并且和客户端的会话关系对应取消。
通过eclipse的Debug可以很清晰的看到session的工作机制。
分享到:
相关推荐
【Cookie与Session机制】在Web开发中,会话跟踪是必不可少的技术,用于区分不同用户的操作。常见的会话跟踪手段有...在Session项目中,可以深入学习和实践这两种技术,理解它们的工作原理以及何时、如何使用它们。
### Session的跟踪机制详解 #### 一、Session与Cookie的区别 ...通过对Session机制的深入理解,我们可以更好地设计和实现复杂的功能,比如购物车、用户认证等,从而提升Web应用的整体质量和性能。
在这个主题中,我们将深入探讨如何使用Node.js的Express框架以及cookie来实现session身份认证。 首先,让我们理解一下基本概念: 1. **Session**: 一个session是服务器存储的关于用户的一段数据,通常包括用户ID等...
### Cookie-Session机制详解 #### 一、引言 在Web开发中,为了实现服务器与客户端之间的会话管理,常用的技术之一就是Cookie-Session机制。本文将深入剖析Cookie-Session的工作原理及其在实际应用中的作用。 ####...
在Web开发中,Cookie和Session是两种...在进行Web开发时,对这两种技术的深入理解和运用,能够提升用户体验,增强系统的安全性。通过"Cookie与Session深入剖析图示"的学习,可以直观地了解两者的工作流程,加深理解。
接下来,我们将深入探讨这两种技术的工作原理及其在Servlet和JSP中的应用。 首先,我们来看Cookie。Cookie是由服务器端创建并在HTTP响应头中发送到客户端(通常是浏览器)的一小段数据。它以键值对的形式存储信息,...
HTTP Session 是Web开发中一种重要的技术,用于在客户端和服务器之间维持状态,尤其是在无状态的HTTP协议下。本文将深入探讨HTTP Session的原理...理解并合理运用session机制,对于构建高效、安全的Web应用至关重要。
对于深入了解Session的工作原理,可以查阅相关源码,如Tomcat的`org.apache.catalina.session`包下的类。 **6. 工具支持** 开发者可以使用各种工具来辅助管理Session,如在IDEA中集成的Tomcat插件,可以查看和操作...
在Web开发领域中,Servlet技术是Java Web开发的重要组成部分,而Session机制则是处理用户会话的关键技术之一。本文将基于提供的文件内容,深入探讨Servlet中Session的工作原理、如何实现Session的跟踪机制以及...
而Session机制则在服务器端存储用户状态,通过分配唯一标识符(通常是Cookie的一部分)来关联用户请求,从而在服务器侧维持状态信息。 #### Session机制详解 Session机制的核心是服务器为每个用户会话创建和维护一...
在深入探讨Session机制之前,我们首先明确Session的概念及其在网络通信和Web开发中的作用。Session,常被译作“会话”,原意指一系列有始有终的动作或消息交换过程,例如打电话从拨号到挂断的过程。在网络协议中,...
PHP SESSION机制是PHP提供的一种持久化用户状态的方法。在网页应用程序中,当用户在不同页面之间跳转时,SESSION能够帮助开发者...在实际开发中,根据项目需求灵活运用SESSION机制,能够有效地提升用户体验和安全性。
本文将深入探讨HTTP协议的几个核心概念:HTTP头、Cookies、Session机制以及浏览器缓存。 首先,HTTP请求头和响应头是HTTP协议的重要组成部分,它们包含了关于请求和响应的元信息。在请求头中,例如`GET`方法、`Host...
四、理解session机制 与cookie相比,session在服务器端存储用户信息,降低了数据暴露的风险。服务器为每个用户分配一个唯一的session ID,并将其通过cookie发送给客户端。客户端在后续请求中携带这个ID,服务器根据...
**四、理解session机制** 与cookie不同,session存储在服务器端,减少了暴露用户信息的风险。服务器为每个用户创建一个唯一的session ID,并将其发送给客户端。之后,客户端在每次请求时通过cookie将session ID返回...
在本PHP小型项目中,我们将深入探讨PHP与MySQL的整合以及如何利用session机制来实现用户登录状态的持久化。PHP是一种广泛使用的服务器端脚本语言,尤其适合Web开发,而MySQL则是世界上最流行的开源关系型数据库管理...
#### 四、理解Session机制 Session机制通过为每个用户创建并维护一个唯一标识符(即Session ID)来实现状态保持。关键特性如下: - **唯一性**:每个Session ID对应一个特定的用户会话。 - **安全性**:因为...
首先,我们来深入理解session和cookie的概念。在Web应用中,用户认证通常依赖于session和cookie。cookie是服务器发送到用户浏览器并存储在本地的一小块数据,用于跟踪用户状态。而session则是一种在服务器端存储用户...