`

session基础学习

 
阅读更多
1:理解Session的概念
运行机制:
当一个Session开始时,Servlet容器将创建一个HttpSession对象,在HttpSession对象中可以存放客户状态的信息(例如购物车)。
Servlet容器为HttpSession分配一个惟一标志符,称为Session ID。Servlet容器把Session ID作为Cookie保存在客户的浏览器中。
每次客户发出HTTP请求时,Servlet容器可以从HttpServletRequest对象中读取Session ID,然后根据Session ID找到相应的HttpSession对象,从而获取客户的状态信息。

2:掌握HttpSession API
1)getId()返回Session的ID
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)客户端关闭浏览器(真的这样吗?)
2)Session过期
HttpSession的setMaxInactiveInterval()方法可以设置允许Session保持不活动状态的时间(以秒为单位)
3)服务器端调用了HttpSession的invalidate()方法

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属性的值
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

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

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

    session实验

    在IT行业中,Session是...综上所述,"session实验"可能是一个涵盖Web开发基础、服务器状态管理、安全性和性能优化等多个方面的实践项目。通过这个实验,学习者能够深入理解Session的工作原理及其在实际应用中的重要性。

    老外session实例购物车

    1. **Session 基础**: - Session是一种在服务器端存储用户数据的方法,不同于Cookie存储在客户端。 - PHP中的`session_start()`函数用于开启一个会话,允许访问和设置Session变量。 - 通过`$_SESSION`全局数组,...

    flask、session、cookie解加密脚本

    `Flask`是一个轻量级的Python Web框架,它提供了构建Web应用的基础结构。在处理用户登录和会话管理时,`session`和`cookie`是两个核心概念。本文将深入探讨`Flask`中的`session`和`cookie`,以及如何对它们进行解密...

    python 零基础学习篇9 session的知识梳理 .mp4

    python 零基础学习篇

    php跨域提交及伪造SeSSION

    Socket是网络编程的基础,允许程序之间进行低级别的通信。在跨域提交和伪造SESSION的场景中,Socket可能用于创建自定义的通信协议或绕过同源策略的限制。学习和理解Socket编程有助于增强对网络通信的理解,对于开发...

    PHP基础学习,新手学习资料

    这份"PHP基础学习,新手学习资料"包含了丰富的资源,旨在帮助初学者系统地掌握PHP入门基础。 首先,CHM(Compiled Help Manual)文件是Windows操作系统下的帮助文档格式,PHP学习资料.CHM可能是PHP的官方手册或者是...

    北大青鸟Y2指导学习一servlet和session

    【标签】:“北大青鸟Y2指导学习一servlet和session”进一步确认了这个学习资源的主题,北大青鸟是一家知名的IT教育机构,Y2可能代表课程的第二阶段,暗示这可能是进阶级别的教学材料,适合有一定基础的学生学习。...

    一个关于Session的小demo

    本小demo以JSP为基础,旨在帮助初学者理解并掌握Session的使用方法。 首先,我们来解释一下什么是Session。Session是服务器端存储的一个数据结构,用于保存用户特定的信息,比如用户的登录状态、购物车内容等。当...

    java购物车session

    在Java Web开发中,...而"java购物车session"这个资源则提供了一个基础的实现,适合初学者学习和练习。通过分析和修改这个项目,你可以深入理解session的用法,以及如何在Java Web环境中构建一个基本的购物系统。

    tomcat集群session共享解决方案

    1. **Session复制**:这是最基础的session共享方法。通过配置Tomcat的`cluster`模块,可以设置session复制策略。每当一个session在某个实例上更新时,这个更新会被广播到集群中的其他实例。这种方式简单易用,但随着...

    php写的session购物车

    总之,PHP session购物车是一个基础但关键的应用,它展示了如何在无状态的HTTP环境中维持用户状态。理解并熟练掌握这一技术对于任何PHP开发者来说都是至关重要的,无论是在学习阶段还是在实际工作中。

    python 零基础学习篇8 session的流程(http角度考虑) .mp4

    python 零基础学习篇

    零基础学习PHP-从零开始学习PHP-PHP基础教程

    本教程“零基础学习PHP-从零开始学习PHP-PHP基础教程”旨在帮助初学者掌握PHP的基本概念和核心技能,让你能够快速入门并逐渐深入到PHP的世界。 1. PHP简介: PHP最初由Rasmus Lerdorf于1995年创建,旨在处理表单...

    Nginx+Tomcat+Memcached-Session-Manager集群Session共享

    在本篇文档中,以CentOS 6.5系统作为基础环境,详细介绍了Nginx、Tomcat和Memcached的安装版本信息。接着,文档详细说明了Tomcat的安装和配置流程: 1. 下载并解压Tomcat安装文件。 2. 将Tomcat的安装目录移动到...

    python 零基础学习篇python课程django框架20 session保存到redis中 .mp4

    python 零基础学习篇

    Asp.net aspx share Session Variable

    8. **学习资源**:深入理解ASP.NET的Session管理机制,包括配置、生命周期和性能优化,以及ASP的基础知识,对于实现这种跨平台共享至关重要。可以通过官方文档、教程和社区论坛(如Stack Overflow)获取更多帮助。 ...

    tokenSession拦截器的使用

    通过使用`tokenSession`拦截器,可以在不改变原有逻辑的基础上,有效地避免这种重复提交的情况发生,同时还能保持良好的用户体验。 #### 七、总结 通过本文的学习,我们了解到`tokenSession`拦截器是一种非常有效...

    tomcat-redis-session-manager-master.zip

    首先,我们要理解Tomcat的session管理基础。在默认情况下,Tomcat会将session信息存储在内存中,这在高并发场景下容易导致内存压力增大,且无法实现多服务器间的session共享。为了解决这个问题,我们可以利用Redis这...

    python 零基础学习篇python课程django框架 django会话保持和视图7 session的流程 .mp4

    python 零基础学习篇

Global site tag (gtag.js) - Google Analytics