`
freewxy
  • 浏览: 342751 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

session机制深入理解

    博客分类:
  • J2EE
阅读更多

 

1、什么是session

 

   Session对象表示目前个别用户的会话状态,用来识别每个用户。session对象用于存储用户的会话信息。用户在应用程序的web页面之间跳转时,存储在session对象中的变量不会丢失,而是在整个用户会话过程中保存下去。

 

2、为什么使用session呢?

 

   http协议是一个无状态协议,每个客户机请求被当成独立的事物。简单来说就是,web服务器是不知道现在连接上来的人到底是哪个人,为了满足选择性发送信息的需求,在http的基础上做了很多扩展来达到这个目的,如数字签名cookiesessionsession可以保存用户的相关登陆资料等信息。跳转页面的时候服务能根据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机制

    【Cookie与Session机制】在Web开发中,会话跟踪是必不可少的技术,用于区分不同用户的操作。常见的会话跟踪手段有...在Session项目中,可以深入学习和实践这两种技术,理解它们的工作原理以及何时、如何使用它们。

    session的跟踪机制

    ### Session的跟踪机制详解 #### 一、Session与Cookie的区别 ...通过对Session机制的深入理解,我们可以更好地设计和实现复杂的功能,比如购物车、用户认证等,从而提升Web应用的整体质量和性能。

    实现session身份认证机制

    在这个主题中,我们将深入探讨如何使用Node.js的Express框架以及cookie来实现session身份认证。 首先,让我们理解一下基本概念: 1. **Session**: 一个session是服务器存储的关于用户的一段数据,通常包括用户ID等...

    Cookie-Session机制详解.txt

    ### Cookie-Session机制详解 #### 一、引言 在Web开发中,为了实现服务器与客户端之间的会话管理,常用的技术之一就是Cookie-Session机制。本文将深入剖析Cookie-Session的工作原理及其在实际应用中的作用。 ####...

    Cookie与Session深入剖析图示

    在Web开发中,Cookie和Session是两种...在进行Web开发时,对这两种技术的深入理解和运用,能够提升用户体验,增强系统的安全性。通过"Cookie与Session深入剖析图示"的学习,可以直观地了解两者的工作流程,加深理解。

    深入理解session,cookie

    接下来,我们将深入探讨这两种技术的工作原理及其在Servlet和JSP中的应用。 首先,我们来看Cookie。Cookie是由服务器端创建并在HTTP响应头中发送到客户端(通常是浏览器)的一小段数据。它以键值对的形式存储信息,...

    理解HTTP session原理及应用

    HTTP Session 是Web开发中一种重要的技术,用于在客户端和服务器之间维持状态,尤其是在无状态的HTTP协议下。本文将深入探讨HTTP Session的原理...理解并合理运用session机制,对于构建高效、安全的Web应用至关重要。

    Session机制总结

    对于深入了解Session的工作原理,可以查阅相关源码,如Tomcat的`org.apache.catalina.session`包下的类。 **6. 工具支持** 开发者可以使用各种工具来辅助管理Session,如在IDEA中集成的Tomcat插件,可以查看和操作...

    servlet中关于session的理解

    在Web开发领域中,Servlet技术是Java Web开发的重要组成部分,而Session机制则是处理用户会话的关键技术之一。本文将基于提供的文件内容,深入探讨Servlet中Session的工作原理、如何实现Session的跟踪机制以及...

    Session详解

    而Session机制则在服务器端存储用户状态,通过分配唯一标识符(通常是Cookie的一部分)来关联用户请求,从而在服务器侧维持状态信息。 #### Session机制详解 Session机制的核心是服务器为每个用户会话创建和维护一...

    关于session的详细解释.pdf

    在深入探讨Session机制之前,我们首先明确Session的概念及其在网络通信和Web开发中的作用。Session,常被译作“会话”,原意指一系列有始有终的动作或消息交换过程,例如打电话从拨号到挂断的过程。在网络协议中,...

    PHP SESSION机制的理解与实例

    PHP SESSION机制是PHP提供的一种持久化用户状态的方法。在网页应用程序中,当用户在不同页面之间跳转时,SESSION能够帮助开发者...在实际开发中,根据项目需求灵活运用SESSION机制,能够有效地提升用户体验和安全性。

    浅析http协议、cookies和session机制、浏览器缓存.docx

    本文将深入探讨HTTP协议的几个核心概念:HTTP头、Cookies、Session机制以及浏览器缓存。 首先,HTTP请求头和响应头是HTTP协议的重要组成部分,它们包含了关于请求和响应的元信息。在请求头中,例如`GET`方法、`Host...

    跨服务器session应用详解

    四、理解session机制 与cookie相比,session在服务器端存储用户信息,降低了数据暴露的风险。服务器为每个用户分配一个唯一的session ID,并将其通过cookie发送给客户端。客户端在后续请求中携带这个ID,服务器根据...

    session简介.doc

    **四、理解session机制** 与cookie不同,session存储在服务器端,减少了暴露用户信息的风险。服务器为每个用户创建一个唯一的session ID,并将其发送给客户端。之后,客户端在每次请求时通过cookie将session ID返回...

    PHP小型项目(session机制、mysql连接)

    在本PHP小型项目中,我们将深入探讨PHP与MySQL的整合以及如何利用session机制来实现用户登录状态的持久化。PHP是一种广泛使用的服务器端脚本语言,尤其适合Web开发,而MySQL则是世界上最流行的开源关系型数据库管理...

    Session详解(主要讲Session跟Cookic区别)

    #### 四、理解Session机制 Session机制通过为每个用户创建并维护一个唯一标识符(即Session ID)来实现状态保持。关键特性如下: - **唯一性**:每个Session ID对应一个特定的用户会话。 - **安全性**:因为...

    flask-session-cookie-manager-master.zip

    首先,我们来深入理解session和cookie的概念。在Web应用中,用户认证通常依赖于session和cookie。cookie是服务器发送到用户浏览器并存储在本地的一小块数据,用于跟踪用户状态。而session则是一种在服务器端存储用户...

Global site tag (gtag.js) - Google Analytics