- 浏览: 188149 次
- 性别:
- 来自: 上海
文章分类
最新评论
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属性的值
运行机制:
当一个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属性的值
发表评论
文章已被作者锁定,不允许评论。
-
Bootstrap
2016-03-24 12:22 434http://expo.bootcss.com/ Boot ... -
js中undefined,null,NaN的区别
2015-04-21 11:43 551typeof 返回字符串,有六种可能:"number ... -
jsp自定义标签
2015-04-17 11:06 419自定义标签库并不是 JSP 2 才出现的,JSP 1.1 版中 ... -
get post 误区
2015-04-10 10:52 473众所周知的http请求有两种: get与post: 这两种 ... -
跨域请求
2014-12-19 14:42 610设域名是:http://www.example.com/ 如果 ... -
关于url 编码
2014-12-17 16:35 371一、问题: ... -
SiteMesh框架
2014-04-30 15:34 509SiteMesh框架是OpenSymphony团队开发的一个非 ... -
判断request来自Ajax请求(异步)还是传统请求(同步)
2014-04-08 11:55 853在服务器端判断request来自Ajax请求(异步)还是传统请 ... -
获取所有类型浏览器的高度和宽度
2014-04-03 10:27 720var w=window.innerWidth || docu ... -
正则表达式 语法
2014-03-26 15:39 491/^\s*$/ 匹配空行。 /\d{2}-\d{5}/ ... -
js cookie
2013-09-21 17:34 491在上一节,曾经利用一个不变的框架来存储购物栏数据,而商品显示页 ... -
form/input autocomplete="off"属性(转)
2013-09-17 15:31 1083有过表单设计经验的朋友肯定知道,当我们在浏览器中输入表单信息 ... -
js关于中文的判断
2013-09-16 15:20 528<script language="javas ... -
session超时,处理ajax请求 (转)
2013-09-11 11:17 475文章出处:http://blog.csdn ... -
设置浏览器不缓存
2013-09-09 16:41 456为了指示IE浏览器(客户端)不要缓存页面,服务器端的程序可以编 ... -
js setTimeout(转转转)
2013-09-06 17:14 667settimeout(表达式,延迟时 ... -
freemarker if else 及其获得下标值
2013-08-29 12:27 840<#if x = 1> x is 1 < ... -
<a href='javascript:function()'>
2013-08-20 16:29 924<a href='javascript:function ... -
freemarker操作字符串(很常用)
2013-08-08 17:12 12181、substring(start,end)从一个字符串中截取 ... -
session失效情况
2013-08-07 16:42 412session死亡发生在以下情况: 1.session的持有 ...
相关推荐
### j2ee实验二:学习使用Session和Cookie #### 实验背景与目标 在现代Web应用开发中,理解和掌握会话管理和用户认证是至关重要的。本实验旨在通过一系列实际操作来帮助学生熟悉J2EE环境下Session和Cookie的工作...
在IT行业中,Session是...综上所述,"session实验"可能是一个涵盖Web开发基础、服务器状态管理、安全性和性能优化等多个方面的实践项目。通过这个实验,学习者能够深入理解Session的工作原理及其在实际应用中的重要性。
1. **Session 基础**: - Session是一种在服务器端存储用户数据的方法,不同于Cookie存储在客户端。 - PHP中的`session_start()`函数用于开启一个会话,允许访问和设置Session变量。 - 通过`$_SESSION`全局数组,...
`Flask`是一个轻量级的Python Web框架,它提供了构建Web应用的基础结构。在处理用户登录和会话管理时,`session`和`cookie`是两个核心概念。本文将深入探讨`Flask`中的`session`和`cookie`,以及如何对它们进行解密...
python 零基础学习篇
Socket是网络编程的基础,允许程序之间进行低级别的通信。在跨域提交和伪造SESSION的场景中,Socket可能用于创建自定义的通信协议或绕过同源策略的限制。学习和理解Socket编程有助于增强对网络通信的理解,对于开发...
这份"PHP基础学习,新手学习资料"包含了丰富的资源,旨在帮助初学者系统地掌握PHP入门基础。 首先,CHM(Compiled Help Manual)文件是Windows操作系统下的帮助文档格式,PHP学习资料.CHM可能是PHP的官方手册或者是...
【标签】:“北大青鸟Y2指导学习一servlet和session”进一步确认了这个学习资源的主题,北大青鸟是一家知名的IT教育机构,Y2可能代表课程的第二阶段,暗示这可能是进阶级别的教学材料,适合有一定基础的学生学习。...
本小demo以JSP为基础,旨在帮助初学者理解并掌握Session的使用方法。 首先,我们来解释一下什么是Session。Session是服务器端存储的一个数据结构,用于保存用户特定的信息,比如用户的登录状态、购物车内容等。当...
在Java Web开发中,...而"java购物车session"这个资源则提供了一个基础的实现,适合初学者学习和练习。通过分析和修改这个项目,你可以深入理解session的用法,以及如何在Java Web环境中构建一个基本的购物系统。
1. **Session复制**:这是最基础的session共享方法。通过配置Tomcat的`cluster`模块,可以设置session复制策略。每当一个session在某个实例上更新时,这个更新会被广播到集群中的其他实例。这种方式简单易用,但随着...
总之,PHP session购物车是一个基础但关键的应用,它展示了如何在无状态的HTTP环境中维持用户状态。理解并熟练掌握这一技术对于任何PHP开发者来说都是至关重要的,无论是在学习阶段还是在实际工作中。
python 零基础学习篇
本教程“零基础学习PHP-从零开始学习PHP-PHP基础教程”旨在帮助初学者掌握PHP的基本概念和核心技能,让你能够快速入门并逐渐深入到PHP的世界。 1. PHP简介: PHP最初由Rasmus Lerdorf于1995年创建,旨在处理表单...
在本篇文档中,以CentOS 6.5系统作为基础环境,详细介绍了Nginx、Tomcat和Memcached的安装版本信息。接着,文档详细说明了Tomcat的安装和配置流程: 1. 下载并解压Tomcat安装文件。 2. 将Tomcat的安装目录移动到...
python 零基础学习篇
8. **学习资源**:深入理解ASP.NET的Session管理机制,包括配置、生命周期和性能优化,以及ASP的基础知识,对于实现这种跨平台共享至关重要。可以通过官方文档、教程和社区论坛(如Stack Overflow)获取更多帮助。 ...
通过使用`tokenSession`拦截器,可以在不改变原有逻辑的基础上,有效地避免这种重复提交的情况发生,同时还能保持良好的用户体验。 #### 七、总结 通过本文的学习,我们了解到`tokenSession`拦截器是一种非常有效...
首先,我们要理解Tomcat的session管理基础。在默认情况下,Tomcat会将session信息存储在内存中,这在高并发场景下容易导致内存压力增大,且无法实现多服务器间的session共享。为了解决这个问题,我们可以利用Redis这...
python 零基础学习篇