`
阅读更多

1:理解Session的概念

运行机制:

当一个Session开始时,Servlet容器将创建一个HttpSession对象,在HttpSession对象中可以存放客户状态的信息(例如购物车)。

Servlet容器为HttpSession分配一个惟一标志符,称为Session IDServlet容器把Session ID作为Cookie保存在客户的浏览器中。

每次客户发出HTTP请求时,Servlet容器可以从HttpServletRequest对象中读取Session ID,然后根据Session ID找到相应的HttpSession对象,从而获取客户的状态信息。

 

2:掌握HttpSession API

1)getId()返回SessionID

2)invalidate()使当前的Session失效,Servlet容器会释放HttpSession对象占用的资源

3)setAttribuate(String name, Object value)将一对name/value属性保存在HttpSession对象中

4)getAttribute(String name) 根据name参数返回保存在HttpSession对象中的属性值

5)isNew()判断是否是新创建的Session。如果是新创建的Session,返回true,否则返回false

6)setMaxInactiveInterval()设定一个Session可以处于不活动状态的最大时间间隔,以秒为单位。如果超过这个时间,Session自动失效。如果设置为负数,表示不限制Session处于不活动状态的时间

3:理解Session的生命周期

当客户第一次访问Web应用中支持Session的某个网页时,就会开始一个新的Session

接下来当客户浏览这个Web应用的不同网页时,始终处于同一个Session中。

默认情况下,JSP网页都是支持Session的,也可以通过以下语句显式声明支持Session

<%@ page session= "true">

在以下情况中,Session将结束生命周期,Servlet容器会将Session所占用的资源释放掉:

1)客户端关闭浏览器(真的这样吗?)

2Session过期

HttpSessionsetMaxInactiveInterval()方法可以设置允许Session保持不活动状态的时间(以秒为单位)

3)服务器端调用了HttpSessioninvalidate()方法

 

3:在JSP文件中控制Session

<%@ page session= false">

 

4:在JSP文件中设置Session范围内的共享数据

主要用法

import javax.servlet.http.HttpSession;  //需要的包

HttpSession session = request.getSession();   //定义session对象

session.setAttribute("name",name);   //设置session属性

String sessionname = (String)session.getAttribute("name");   //session属性的值

分享到:
评论

相关推荐

    JSP Session 学习笔记---JSP Session 学习笔记

    JSP Session 学习笔记

    session 学习要点

    ### Session学习要点详解 #### 一、Session基本概念与工作机制 **Session** 是一种服务器端技术,用于在用户的会话期间存储数据。当用户访问一个网站时,服务器可能会创建一个 Session 对象来跟踪该用户的活动。...

    hibernate和session学习

    【hibernate与Session详解】 Hibernate 是一个强大的Java对象关系映射(ORM)框架,它为开发者提供了在Java应用程序中操作数据库...学习并熟练掌握Hibernate和Session,对于提升Java开发的效率和质量有着重要的作用。

    Cookie、Session学习笔记

    这篇学习笔记将深入探讨它们的工作原理、使用场景以及优缺点。 **Cookie** Cookie是一种在客户端(用户的浏览器)和服务器之间传递信息的技术。服务器在响应中设置Cookie,浏览器在后续的请求中携带Cookie返回。...

    cookie和session的学习文档

    cookie和session的学习文档

    cookie和session学习的源码

    在IT行业中,尤其是在Java Web开发领域,Cookie和Session是两种非常重要的用户会话管理机制。它们主要用于跟踪用户状态,确保用户在浏览...通过不断学习和实践,我们可以更好地掌握这些核心技术,提升自己的开发技能。

    《session详解》

    session,中文经常翻译为会话,其本来的含义是指有始有终的一系列动作/消息,比如打电话时从拿起电话拨号到挂断电话这中间的一系列过程可以称之为一个session。 session在WEB技术中占有非常重要的份量。由于网页是一...

    j2ee实验二:学习使用Session和Cookie

    ### j2ee实验二:学习使用Session和Cookie #### 实验背景与目标 在现代Web应用开发中,理解和掌握会话管理和用户认证是至关重要的。本实验旨在通过一系列实际操作来帮助学生熟悉J2EE环境下Session和Cookie的工作...

    J2EE学习系列四 Session

    J2EE学习系列四 Session 提供学习

    学习Spring-Session+Redis实现session共享

    ### Spring-Session与Redis结合实现Session共享 在分布式系统中,单点登录(Single Sign-On,简称SSO)成为一种常见的需求。为了实现这一目标,就需要解决不同服务器间Session共享的问题。Spring-Session正是为此而...

    session实验

    在IT行业中,Session是一个至关重要的概念,特别是在Web开发领域。Session是服务器端用来跟踪用户状态的一种机制。...通过这个实验,学习者能够深入理解Session的工作原理及其在实际应用中的重要性。

    学习SessionBean

    **SessionBean:深入理解与应用** SessionBean是Java EE(Enterprise Edition)中企业级JavaBeans(EJB)的一部分,主要用于实现服务器端的业务逻辑。它是一个可复用的组件,可以处理客户端的会话状态,提供了在...

    学些动态性能表-word版

    学习动态性能表(六)--v$session_wait&v$session_event 学习动态性能表(七)--v$process 学习动态性能表(八)--v$lock&v$locked_object 学习动态性能表(九)--v$filestat 学习动态性能表(十)--v$session_longops ...

    ubuntu自定义登录session和桌面环境

    在Ubuntu操作系统中,用户可以根据个人偏好自定义登录时的Session和桌面环境,以创建符合自己需求的工作环境。本文将详细讲解如何实现这一目标。...通过不断学习和实践,你将能够更好地掌握Ubuntu系统的个性化设置。

    flask、session、cookie解加密脚本

    在IT行业中,安全是至关重要的一个领域,尤其是在Web开发中。`Flask`是一个轻量级的Python Web框架,它提供了构建Web应用的基础...开发者可以通过研究这些脚本来增强对`Flask`安全性的理解,并学习如何保护用户的数据。

    验证码的session问题

    验证码的Session问题主要涉及到Web应用中的用户验证与安全机制。...而Session是服务器端用来存储用户会话信息的一种技术,通常与Cookie配合...学习和掌握这些问题的解决方案,对于提升Web应用的安全性和用户体验至关重要。

    session监听小例子

    在Java Web开发中,Session是服务器用来跟踪用户状态的重要机制。...通过学习这个小例子,你可以更深入地理解如何在Java Web应用中使用Session监听器,并将其应用于自己的项目中,提升应用程序的管理和安全性。

    Session

    标题中的"Session"一词在IT行业中通常指的是网络应用程序中的会话管理机制。在Web开发中,Session是服务器端用来...学习和理解Session机制对于任何Web开发者来说都是必要的,尤其是在处理用户认证、状态保持等场景时。

    老外session实例购物车

    通过这个实例,开发者不仅可以学习如何在PHP中使用Session来实现购物车功能,还可以了解基本的Web应用程序结构和数据库交互。同时,这个开源项目提供了一个实践和学习的平台,鼓励大家进行代码审查和改进。

    flask-session-cookie-manager-master.zip

    通过使用这个工具,CTF参与者可以模拟攻击和防御session,学习如何防止session伪造,提升对Web应用安全的理解。此外,对于开发者来说,这也能帮助他们在实际开发中更好地保护用户数据,增强应用的安全性。 综上所述...

Global site tag (gtag.js) - Google Analytics